New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade autotools #21196
Comments
Branch: u/mkoeppe/upgrade-autotools |
comment:2
The branch attempts to upgrade the autotools versions. Building currently fails because libtool 2.4.3's patches against gnulib stuff do not apply cleanly when gnulib is too new. New commits:
|
Commit: |
comment:3
(Branch is on top of #21047.) |
Author: Matthias Koeppe |
comment:8
Ah, I was just in the process of trying to do this myself (as I guess you saw on the ML). Thanks for adding me. |
comment:9
Did you ever find a workaround to the issue of libtool 2.4.3 and gnulib? I have an idea for that that I'm testing now. |
comment:10
Here's my idea--it worked for me. The idea is that there is an optional gnulib version appended to the libtool version (with a I admit the syntax is a bit awkward and am open to other ideas. I just didn't want to hard-code a special case just for this version (though that might be acceptable as well given that it ended up being the only one affected AFAICT). diff --git a/build/pkgs/autotools/spkg-install b/build/pkgs/autotools/spkg-install
index c373e84..a514674 100755
--- a/build/pkgs/autotools/spkg-install
+++ b/build/pkgs/autotools/spkg-install
@@ -64,7 +64,10 @@ rm -f m4 makeinfo help2man autoconf autoheader autom4te autoreconf \
source "$SRC/../version-list"
for x in $autoconf_versions; do autoconf_latest=$x ; done
for x in $automake_versions; do automake_latest=$x ; done
-for x in $libtool_versions; do libtool_latest=$x ; done
+for x in $libtool_versions; do
+ x=${x%+*}
+ libtool_latest=$x ;
+done
# We install scripts for autoconf,... based on the generic "autofoo" script
cd "$SAGE_LOCAL/bin"
diff --git a/build/pkgs/autotools/spkg-write-makefile b/build/pkgs/autotools/spkg-write-makefile
index 56e6040..4288eb2 100755
--- a/build/pkgs/autotools/spkg-write-makefile
+++ b/build/pkgs/autotools/spkg-write-makefile
@@ -90,6 +90,14 @@ write_make_rules() {
all="$p-all:"
for v in $*
do
+ # Split the version into the package version and the required gnulib version
+ # if any; by default just use the master branch of gnulib
+ gnulib_ver="master"
+ if [[ "$v" == *+* ]]; then
+ gnulib_ver=${v#*+}
+ v=${v%+*}
+ fi
+
echo >&2 "Processing $p-$v"
cd $p
@@ -115,6 +123,11 @@ write_make_rules() {
if [ ! -f configure ]; then
# libtool-2.4.3 requires some gnulib files
if [ -d gnulib ]; then
+ echo >&2 "Preparing gnulib ${gnulib_ver}"
+ cd ../gnulib
+ git checkout "${gnulib_ver}"
+ cd ../$p
+
cp -a ../gnulib/build-aux .
fi
# Run aclocal, such that AM_INIT_AUTOMAKE is available.
@@ -201,11 +214,15 @@ write_make_rules() {
[ -z "$lt_ver" ] || echo -e "\texport LIBTOOL_VERSION=$lt_ver ; \\\\"
[ -z "$ac_ver" ] || echo -e "\texport AUTOCONF_VERSION=$ac_ver ; \\\\"
[ -z "$am_ver" ] || echo -e "\texport AUTOMAKE_VERSION=$am_ver ; \\\\"
- echo -e "\tcd $p-$v && ${bootstrap}\\\\"
- echo -e "\t ./configure --prefix=\"\$(SAGE_LOCAL)/$p-$v\" && \\\\"
- echo -e "\t \$\$MAKE && \$\$MAKE install"
- echo -e "\t# Remove all files except for the .* files"
- echo -e "\t[ \"\$\$SAGE_KEEP_BUILT_SPKGS\" = yes ] || rm -rf $p-$v/*"
+
+ if [ $p = libtool -a -d gnulib ]; then
+ echo -e "\t(cd \$(SRC)/gnulib && git checkout ${gnulib_ver}) 1>&2 && \\\\"
+ fi
+ echo -e "\tcd $p-$v && ${bootstrap}\\\\"
+ echo -e "\t ./configure --prefix=\"\$(SAGE_LOCAL)/$p-$v\" && \\\\"
+ echo -e "\t \$\$MAKE && \$\$MAKE install"
+ echo -e "\t# Remove all files except for the .* files"
+ echo -e "\t[ \"\$\$SAGE_KEEP_BUILT_SPKGS\" = yes ] || rm -rf $p-$v/*"
echo
prevextract="$p-$v/.tarball-version"
diff --git a/build/pkgs/autotools/version-list b/build/pkgs/autotools/version-list
index c4a2f2e..0edf2ad 100644
--- a/build/pkgs/autotools/version-list
+++ b/build/pkgs/autotools/version-list
@@ -15,9 +15,16 @@ automake_versions="
1.9 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.10 1.10.1 1.10.2 1.10.3
1.11 1.11.1 1.11.2 1.11.3 1.11.4 1.11.5 1.11.6 1.12 1.12.1 1.12.2
1.12.3 1.12.4 1.12.5 1.12.6 1.13 1.13.1 1.13.2 1.13.3 1.13.4
- 1.14 1.14.1"
+ 1.14 1.14.1 1.15"
libtool_versions="
1.5.20 1.5.22 1.5.24 1.5.26
2.2.4 2.2.6 2.2.6b 2.2.8 2.2.10
- 2.4 2.4.2 2.4.3"
+ 2.4 2.4.2 2.4.3+v0.1-253-ge28a0f7
+ 2.4.4 2.4.5 2.4.6"
+
+m4_version=1.4.17
+
+help2man_version=1.47.4
+
+texinfo_version=4.13 |
comment:11
Turns out I was wrong--gnulib master does not work some of the later libtool versions as well. A simpler solution looks like it might be to just use the same gnulib version across all of them. |
comment:12
BTW, a more general bug--when I tried the |
comment:13
Replying to @embray:
Do you mean |
comment:14
Replying to @embray:
"all of them" = all versions or all currently failing versions? which gnullib version would you want to use? |
comment:15
I think there's also a similar problem with |
comment:17
Replying to @mkoeppe:
I found |
comment:18
Replying to @mkoeppe:
I didn't run into this particular problem but maybe I didn't try it on any packages that use texinfo. Can you point to a specific example? |
comment:20
ping? |
comment:21
What should we do about this ticket? Should we try to upgrade? (I could try to work on this…) |
comment:22
See also - #24903 optional package autotools fail to build |
comment:24
If we decide to drop autotools in #24903, then this can be closed. |
Changed author from Matthias Koeppe to Matthias Koeppe, Julian Rüth |
comment:25
I propose to make autotools experimental and drop it some day. I don't think we should put too much effort into upgrading this. If somebody else wants to take over with the upgrade (and has a system where this actually builds) they should feel free to take over of course :) |
Reviewer: Dima Pasechnik |
comment:27
closing positively reviewed duplicates |
Upgrade autotools to the latest upstream versions, for no particular reason.
Depends on #21047
Depends on #24903
CC: @jdemeyer @nexttime @embray
Component: packages: experimental
Author: Matthias Koeppe, Julian Rüth
Branch/Commit: u/mkoeppe/upgrade-autotools @
d794672
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/21196
The text was updated successfully, but these errors were encountered: