Skip to content

Commit dc933bd

Browse files
author
Release Manager
committed
gh-35094: To determine GAP_SO sage.env looks for libgap.so but it should look for libgap.so*
### 📚 Description In short, sometimes there is no `lib**.so` available, but only `lib**.so.*`. This breaks GAP and Singular related things. See #33446 for details. Closes #33446 ### ⌛ Dependencies Depends on #35093 #34391 (GAP update to 4.12.2) URL: #35094 Reported by: Dima Pasechnik Reviewer(s): Matthias Köppe
2 parents b220333 + 6c3afe6 commit dc933bd

39 files changed

+167
-548
lines changed

build/pkgs/configure/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=d8ef4b8b0d227b2530cff20c65911eb9587828a3
3-
md5=f58322981d5c5e26b1d9eadf3c2a9132
4-
cksum=3821522607
2+
sha1=d1f5de425016aafef4bf09bd5bc10f41560fdc74
3+
md5=9394df18d77f67a20e1d365f95ec37ad
4+
cksum=1365424434
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d6c38e59d84f0dcb7c08110445050c1c370f7440
1+
6eb2638618742fc9a53343eac964b1827e188325

build/pkgs/gap/checksums.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tarball=gap-VERSION.tar.gz
2-
sha1=4ecdd281b8f430282fb9b12690b06e0a26abde10
3-
md5=85dc9e459d5b6c66fcad9f468afd3e3e
4-
cksum=1351843158
2+
sha1=a6e36f3f874a2c46f51561402634497eab705cca
3+
md5=c5cd9f272f2703d7a3649ad7193b2d90
4+
cksum=2760477284
55
upstream_url=https://github.com/gap-system/gap/releases/download/vVERSION/gap-VERSION.tar.gz

build/pkgs/gap/package-version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.11.1
1+
4.12.2

build/pkgs/gap/spkg-check.in

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ cd src
33
# #28728: Fix test failure in tst/testinstall/strings.tst
44
export LC_CTYPE=en_US.UTF-8
55

6+
# #34391: in GAP 4.12 some packages need GAP package io
7+
# to let tests run, otherwise this hangs. Thus we install io here.
8+
cd pkg/io
9+
./configure --with-gaproot=../..
10+
make
11+
cd ../..
12+
613
make testinstall
714
if [[ $? -ne 0 ]]; then
815
exit 1

build/pkgs/gap/spkg-install.in

+25-71
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,25 @@ export CFLAGS=$CFLAGS_NON_NATIVE
88
export CXXFLAGS=$CXXFLAGS_NON_NATIVE
99

1010
GAP_BUILD_ROOT="$(pwd)"
11-
GAP_ROOT="$SAGE_LOCAL/share/gap"
12-
DESTDIR_GAP_ROOT="$SAGE_DESTDIR$GAP_ROOT"
11+
GAP_ROOT="$SAGE_LOCAL/lib/gap"
1312

1413
# Enable debug info if requested.
1514
# Note that -g3 allows you to use preprocessor macros in gdb which are widely used
1615
if [ "$SAGE_DEBUG" = yes ] ; then
1716
export CFLAGS="-O0 -g3 -DDEBUG_MASTERPOINTERS -DDEBUG_GLOBAL_BAGS -DDEBUG_FUNCTIONS_BAGS $CFLAGS"
1817
fi
1918

20-
sdh_configure $SAGE_CONFIGURE_GMP
21-
sdh_make -j1
19+
# LDFLAGS hack below needed by Semigroups package
20+
sdh_configure $SAGE_CONFIGURE_GMP LDFLAGS="-pthread" --prefix=$SAGE_LOCAL
21+
sdh_make
2222

23-
# GAP's "make install" is work in progress; we use bits and pieces of it
24-
# but we install many things manually.
25-
sdh_make install-headers install-libgap
26-
27-
# Install config.h, which is not currently handled by `make install-headers`
28-
sdh_install gen/config.h "$SAGE_LOCAL/include/gap"
29-
30-
# Now install the gap executable as "gap-bin"; it will be called normally
31-
# through our wrapper script that sets the appropriate GAP_ROOT
32-
SAGE_BIN="$SAGE_LOCAL/bin"
33-
mkdir -p "$SAGE_DESTDIR$SAGE_BIN" || sdh_die "Failed to create the directory $SAGE_BIN"
34-
35-
./libtool --mode=install install gap "$SAGE_DESTDIR$SAGE_BIN/gap-bin" || \
36-
sdh_die "Failed to install gap-bin to $SAGE_BIN"
37-
38-
./libtool --mode=install install gac "$SAGE_DESTDIR$SAGE_BIN/gac" || \
39-
sdh_die "Failed to install gac to $SAGE_BIN"
40-
41-
# Now copy additional files GAP needs to run (and a few optional bits) into
42-
# GAP_ROOT; we don't need everything from the source tree
43-
sdh_install bin doc gen grp lib src tst sysinfo.gap "$GAP_ROOT"
44-
45-
# GAP's copy of libtool is also used by the toolchain for build GAP packages
46-
# (i.e. by gac)
47-
sdh_install libtool "$GAP_ROOT"
23+
sdh_make_install
24+
# sdh_make install-headers install-libgap
25+
# The 'packagemanager' package expects this https://github.com/gap-packages/PackageManager/issues/105
26+
mkdir -p "$SAGE_LOCAL/lib/gap/bin"
4827

4928
# Install only the minimal packages GAP needs to run
50-
sdh_install pkg/GAPDoc-* pkg/primgrp-* pkg/SmallGrp-* pkg/transgrp "$GAP_ROOT"/pkg
29+
sdh_install pkg/gapdoc pkg/primgrp pkg/smallgrp pkg/transgrp "$GAP_ROOT"/pkg
5130

5231
# Install additional packages that are not strictly required, but that are
5332
# typically "expected" to be loaded: These are the default packages that are
@@ -58,50 +37,25 @@ sdh_install pkg/GAPDoc-* pkg/primgrp-* pkg/SmallGrp-* pkg/transgrp "$GAP_ROOT"/p
5837
# Also include atlasrep which is a dependency of tomlib
5938
sdh_install \
6039
pkg/atlasrep \
61-
pkg/autpgrp-* \
62-
pkg/alnuth-* \
63-
pkg/crisp-* \
64-
pkg/ctbllib-* \
65-
pkg/FactInt-* \
40+
pkg/autodoc \
41+
pkg/autpgrp \
42+
pkg/alnuth \
43+
pkg/crisp \
44+
pkg/ctbllib \
45+
pkg/factint \
6646
pkg/fga \
67-
pkg/irredsol-* \
68-
pkg/laguna-* \
69-
pkg/PackageManager-* \
70-
pkg/polenta-* \
71-
pkg/polycyclic-* \
72-
pkg/resclasses-* \
73-
pkg/sophus-* \
74-
pkg/tomlib-* \
47+
pkg/irredsol \
48+
pkg/laguna \
49+
pkg/packagemanager \
50+
pkg/polenta \
51+
pkg/polycyclic \
52+
pkg/radiroot \
53+
pkg/resclasses \
54+
pkg/sophus \
55+
pkg/tomlib \
56+
pkg/utils \
7557
"$GAP_ROOT"/pkg
7658

77-
# Install the GAP startup script; ensure it is executable
78-
sdh_install -T ../gap "$SAGE_BIN/gap"
79-
chmod +x "$SAGE_DESTDIR$SAGE_BIN/gap"
80-
81-
# Create symlinks under $GAP_ROOT for these executables, as they are expected
82-
# (especially when building kernel packages) to exist
83-
ln -sf "../../bin/gap-bin" "$DESTDIR_GAP_ROOT/gap"
84-
ln -sf "../../bin/gac" "$DESTDIR_GAP_ROOT/gac"
85-
86-
# Fix the $GAP_ROOT/bin/<arch>/src symlink to be relative (otherwise it links
87-
# to the actual path of the sources GAP was compiled from)
88-
for srclink in "$DESTDIR_GAP_ROOT"/bin/*/src; do
89-
rm -f "$srclink"
90-
ln -s "../../src" "$srclink"
91-
done
92-
93-
# Additional fixups for some files after they have been copied into their
94-
# destination directory. gac and sysinfo.gap are generated files that contain
95-
# in them hard-coded references to the GAP build directory, which will soon
96-
# be going away. This breaks the build toolchain for some compiled GAP
97-
# packages. We need to replace these paths with the final GAP_ROOT path. The
98-
# below will work so long as neither of these paths contain '|', and if they do
99-
# then god help you. https://github.com/sagemath/sage/issues/27218
100-
sed -i -e "s|$GAP_BUILD_ROOT|$GAP_ROOT|g" \
101-
"$SAGE_DESTDIR$SAGE_BIN/gac" "$DESTDIR_GAP_ROOT/sysinfo.gap" \
102-
"$DESTDIR_GAP_ROOT/bin/gap.sh" "$DESTDIR_GAP_ROOT/doc/make_doc" || \
103-
sdh_die "Failed to fix up hard-coded paths in GAP build tools."
104-
10559
# TODO: This seems unnecessary--we are already installing all of doc/ to
10660
# GAP_ROOT, which is necessary for some functionality in GAP to work. Do
10761
# we need this? Maybe doc/gap could just be a symlink to gap/doc??

build/pkgs/gap/spkg-legacy-uninstall

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ rm -rf "$SAGE_LOCAL/gap/gap-4."*
44
rm -rf "$SAGE_SHARE/gap"
55
rm -f "$SAGE_LOCAL/gap/latest"
66
rm -f "$SAGE_LOCAL/bin/gap"
7+
rm -f "$SAGE_LOCAL/bin/gac"
78

8-
# Remove old libgap headers
9+
# Remove old libgap headers and library
910
rm -rf "$SAGE_LOCAL/include/gap"
11+
rm -rf "$SAGE_LOCAL/lib/gap"

build/pkgs/gap/spkg-prerm.in

-6
This file was deleted.

build/pkgs/gap_packages/patches/cohomolo-gcc10.patch

-150
This file was deleted.

build/pkgs/gap_packages/patches/guava_leon_includes.patch

-13
This file was deleted.

0 commit comments

Comments
 (0)