# Libtool-&libtool-version; 32 Bit Libraries

## Installation of Libtool

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

    CC="gcc ${BUILD32}" ./configure --prefix=/usr \
        --cache-file=config.cache

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.)

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 contents-libtool