Details on this package are located in Section 10.58.2, “Contents of Libtool.”
The Libtool package contains the GNU generic library support script. It wraps the complexity of using shared libraries in a consistent, portable interface.
The following config.cache
entry
overrides the default search path, which does not take multilib
into account:
echo "lt_cv_sys_dlsearch_path='/lib /usr/lib /usr/local/lib /opt/lib'" > config.cache
Prepare Libtool for compilation:
CC="gcc ${BUILD32}" ./configure --prefix=/usr \ --cache-file=config.cache
Compile the package:
make
To test the results, first identify whether you are on a big- or little-endian machine. SGI machines are usually big-endian, Cobalt are usually little-endian. If in doubt you can echo ${MACHTYPE} | grep 'el-' - this will match a little-endian machine.
To test on a little-endian machine issue: make LDEMULATION=elf32ltsmip
check
.
To test on a big-endian machine issue: make LDEMULATION=elf32btsmip
check
.
The meaning of the override on make check:
LDEMULATION=[emulation]
Libtool tends to do the wrong thing when building for
multilib, at least on the non-default size(s) of
architecture. The causes of these errors are not well
understood and they can appear, or disappear, as a result of
apparently innocuous other changes in the build. In this
version of the book, one of the tests (pdemo-make) fails to
link because it tries to link the 32-bit objects against
64-bit system libraries. This option enables the test to
succeed without impacting the other tests (compare the common
alternative fixes of LD="gcc
${BUILD32}"
which causes far fewer tests to be
executed, and configuring with LDFLAGS='-L/lib -L/usr/lib'
which in this
case causes other tests to fail.)
Install the package:
make install
Prepare libtool
to be wrapped by the
multiarch wrapper. Libtool by itself is not multilib aware:
mv -v /usr/bin/libtool{,-32}
Details on this package are located in Section 10.58.2, “Contents of Libtool.”