Hi Pavel,
Den mån 3 aug. 2026 kl 18:11 skrev Pavel Lyalyakin <[email protected]>:
> Hello,
>
> The minimum libtool version is 2.0[1][2], not 1.4.
>
> The Solaris-related note about libtool 1.4.3 the patch removes was added
> in 2003[3] and hasn't been touched since. I don't see any relevant code in
> current autogen.sh and buildcheck.sh, so I think this note can be safely
> removed as well (the minimum version is 2.0, so this 1.4.3 note is
> redundant anyway).
>
Great find, thanks! I was chasing the Solaris 1.4.3 note myself the other
day but didn't find the referenced code - now I know where it went.
The patch looks good to me but when I tried to verify that we actually
check for libtool 2, I looked at the check in build/buildcheck.sh and it
seems fishy:
[[[
lt_status="good"
if test "$1" = "$LIBTOOL_WANTED_MAJOR"; then
if test "$2" -gt "$LIBTOOL_WANTED_MINOR"; then
lt_status="good"
elif test "$2" -lt "$LIBTOOL_WANTED_MINOR"; then
lt_status="bad"
elif test ! -z "$LIBTOOL_WANTED_PATCH"; then
if test "$3" -lt "$LIBTOOL_WANTED_PATCH"; then
lt_status="bad"
fi
fi
fi
if test $lt_status != "good"; then
echo "buildcheck: libtool version $lt_pversion found."
echo " You need libtool version $LIBTOOL_WANTED_VERSION or
newer installed"
exit 1
fi
echo "buildcheck: libtool version $lt_pversion (ok)"
]]]
Note how it default to good and only actually set the status to bad if the
major version is equal to the requested (2). Now, if I simulate version
1.2.3 (by setting lt_pversion a little earlier in the script), it actually
run ok:
[[[
buildcheck: libtool version 1.2.3 (ok)
]]]
I believe the following test would be better (inspired by the test for
autoconf a little earlier in the same file):
[[[
if test "$1" = "$LIBTOOL_WANTED_MAJOR" -a "$2" = "$LIBTOOL_WANTED_MINOR" -a
"$3" -lt "$LIBTOOL_WANTED_PATCH" || test "$1" = "$LIBTOOL_WANTED_MAJOR" -\
a "$2" -lt "$LIBTOOL_WANTED_MINOR" || test "$1" -lt
"$LIBTOOL_WANTED_MAJOR"; then
echo "buildcheck: libtool version $lt_pversion found."
echo " You need libtool version $LIBTOOL_WANTED_VERSION or
newer installed"
exit 1
fi
]]]
Can you check if this works for you as well?
If you want to commit the changes to INSTALL yourself, here is my +1!
Thanks,
Daniel
>
> Thank you.
>
> [1]:
> https://svn.apache.org/viewvc/subversion/trunk/build/buildcheck.sh?revision=1845716&view=markup#l81
> [2]: https://svn.apache.org/viewvc/?revision=1845716&view=revision
> [3]:
> https://svn.apache.org/viewvc/subversion/trunk/INSTALL?annotate=1936306#l334
>
[4]: https://svn.apache.org/viewvc/?revision=1142604&view=revision
>
> Log message:
>
> * INSTALL
> (I.B: Dependency Overview): update min libtool version to 2.0
> (I.C.6): update min libtool version to 2.0
> (I.C.6): remove outdated note about libtool 1.4.3 and Solaris.
>
> Patch by: Pavel Lyalyakin <[email protected]>
>
> --
> With best regards,
> Pavel Lyalyakin
>
>