Branko Čibej wrote (to dev@subversion.a.o): > On 26.02.2018 18:39, Julian Foad wrote: >> (CC'ing Subversion as Subversion's build system both uses and kind-of >> duplicates this.) >> >> APR's 'build/buildcheck.sh' says: >> [[[ >> # Require libtool 1.4 or newer >> libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14` >> ... >> ]]] >> >> and fails if it doesn't find a 'libtool' binary at version >= 1.4; >> >> but 'buildconf' says: >> [[[ >> build/buildcheck.sh $verbose || exit 1 >> >> libtoolize=`build/PrintPath glibtoolize1 glibtoolize libtoolize15 >> libtoolize14 libtoolize` >> ]]] >> >> Different tool name, different order of checking for versions of it. >> >> This difference caused a problem on my Ubuntu 16.04 system, where only >> the main 'libtool' package was installed which provides only a >> 'libtoolize' binary, and the optional 'libtool-bin' package which adds >> a 'libtool' binary was not installed. I was able to install the latter >> to work around this issue. > > FWIW, Subversion's autogen.sh and build/buildcheck.sh only look for > 'libtoolize' in one of its aliased names, it doesn't look for 'libtool' > at all, since about 3 years ago. > >> Looks like it should be changed to be consistent. What do you think? > > +1 to duplicating Subversion's logic for finding libtoolize in APR.
Subversion's 'autogen.sh' says: [[[ # Much like APR except we do not prefer libtool 1 over libtool 2. libtoolize="`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`" ]]] Subversion's 'build/buildcheck.sh' says: [[[ # Much like APR except we do not prefer libtool 1 over libtool 2. libtoolize=${LIBTOOLIZE:-`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`} ]]] In addition, my colleague Michael reports Subversion's 'autogen.sh' does not find the 'aclocal' and 'libtool' directories on CentOS 7. A patch equivalent to this one works: [[[ Index: autogen.sh =================================================================== --- autogen.sh (revision 1825663) +++ autogen.sh (working copy) @@ -81,6 +81,8 @@ if [ "x$LIBTOOL_M4" = "x" ]; then ltm4_error='(try setting the LIBTOOL_M4 environment variable)' if [ -d "$ltpath/../share/aclocal/." ]; then ltm4=`cd "$ltpath/../share/aclocal" && pwd` + elif [[ $(readlink -f $(which aclocal)) == "/usr/bin/aclocal" ]]; then + ltm4='/usr/share/aclocal' else echo "Libtool helper path not found $ltm4_error" echo " expected at: '$ltpath/../share/aclocal'" @@ -129,6 +131,8 @@ if [ $lt_major_version -ge 2 ]; then ltconfig=`cd "$ltpath/../share/libtool/config" && pwd` elif [ -d "$ltpath/../share/libtool/build-aux/." ]; then ltconfig=`cd "$ltpath/../share/libtool/build-aux" && pwd` + elif [[ $(readlink -f $(which libtool)) == "/usr/bin/libtool" ]]; then + ltconfig='/usr/share/libtool/config' else echo "Autoconf helper path not found $ltconfig_error" echo " expected at: '$ltpath/../share/libtool/config'" ]]] (Beware Bash-isms.) It looks to me like this could/should be more general. Anybody care to suggest how? - Julian