On Sat, 21 Aug 2021, Oleg Smolsky wrote:
Hello there! We have an autotools-based build system setup with a custom GCC where we take all build- and run-time dependencies (except for glibc) from /opt. Things have worked well on Ubuntu 16, yet I'm hitting a funky issue when building on Ubuntu20 (libtool 2.4.6-14 according to dpkg). The issue comes down to one of the wrapper scripts that contains this gem: # Add our own library path to LD_LIBRARY_PATH LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:/home/oleg/project/_obj/.libs:/opt/gcc-11/lib/../lib64:$LD_LIBRARY_PATH" Most of our libs are statically linked with exception of just one. So tests/apps that use that shared lib end up with libtool wrappers... and they work correctly on Ubuntu16 (libtool 2.4.6-0.1 according to dpkg). It seems that libtool version just does not stamp out this extra variable... The manual fix is to remove the "/usr/lib/x86_64-linux-gnu" bit from the LD_LIBRARY_PATH above... and yet I have no idea where it came from or whether there is a way to influence its composition from a Makefile.am file.
I think that libtool tries to deduce the default run-time linker search path (e.g. as used/provided to ldconfig, and also documented in the 'ld.so' manual page) and it also tries to learn where the compiler's own libraries are installed.
So, if libtool does not believe that /usr/lib/x86_64-linux-gnu is in the default search path, it adds it.
Note that the compiler's run-time libraries are installed under /usr/lib/x86_64-linux-gnu (e.g. /usr/lib/x86_64-linux-gnu/libgcc_s.so.1).
The wrapper scripts are used for running programs in the build tree. They are not meant to be installed.
Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt