| 1 | <?xml version="1.0" encoding="ISO-8859-1"?>
 | 
|---|
| 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 | 
|---|
| 3 |   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | 
|---|
| 4 |   <!ENTITY % general-entities SYSTEM "../../general.ent">
 | 
|---|
| 5 |   %general-entities;
 | 
|---|
| 6 | ]>
 | 
|---|
| 7 | 
 | 
|---|
| 8 | <sect1 id="ch-system-libtool-32" role="wrap">
 | 
|---|
| 9 |   <?dbhtml filename="libtool.html"?>
 | 
|---|
| 10 | 
 | 
|---|
| 11 |   <title>Libtool-&libtool-version; 32 Bit Libraries</title>
 | 
|---|
| 12 | 
 | 
|---|
| 13 | <!-- with the introduction of an LDEMULATION  on make check, to fix a test
 | 
|---|
| 14 |  failure which has appeared for unknown reasons, this text is now specific
 | 
|---|
| 15 |  to mips -o32. -->
 | 
|---|
| 16 | 
 | 
|---|
| 17 |   <indexterm zone="ch-system-libtool-32">
 | 
|---|
| 18 |     <primary sortas="a-Libtool">Libtool</primary>
 | 
|---|
| 19 |     <secondary>32 Bit</secondary>
 | 
|---|
| 20 |   </indexterm>
 | 
|---|
| 21 | 
 | 
|---|
| 22 |   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 23 |   href="../common/libtool.xml"
 | 
|---|
| 24 |   xpointer="xpointer(//*[@role='package'])"/>
 | 
|---|
| 25 | 
 | 
|---|
| 26 |   <sect2 role="installation">
 | 
|---|
| 27 |     <title>Installation of Libtool</title>
 | 
|---|
| 28 | 
 | 
|---|
| 29 |     <para os="a1">The following <filename>config.cache</filename> entry
 | 
|---|
| 30 |     overrides the default search path, which does not take
 | 
|---|
| 31 |     multilib into account:</para>
 | 
|---|
| 32 | 
 | 
|---|
| 33 | <screen os="a2"><userinput>echo "lt_cv_sys_dlsearch_path='/lib /usr/lib /usr/local/lib /opt/lib'" > config.cache</userinput></screen>
 | 
|---|
| 34 | 
 | 
|---|
| 35 |     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 36 |     href="../common/libtool.xml"
 | 
|---|
| 37 |     xpointer="xpointer(//*[@os='a'])"/>
 | 
|---|
| 38 | 
 | 
|---|
| 39 | <screen os="b"><userinput>CC="gcc ${BUILD32}" ./configure --prefix=/usr \
 | 
|---|
| 40 |     --cache-file=config.cache</userinput></screen>
 | 
|---|
| 41 | 
 | 
|---|
| 42 |     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 43 |     href="../common/libtool.xml"
 | 
|---|
| 44 |     xpointer="xpointer(//*[@os='c'])"/>
 | 
|---|
| 45 | 
 | 
|---|
| 46 |     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 47 |     href="../common/libtool.xml"
 | 
|---|
| 48 |     xpointer="xpointer(//*[@os='d'])"/>
 | 
|---|
| 49 | 
 | 
|---|
| 50 |     <para os="e">To test the results, first identify whether you are on a big- or
 | 
|---|
| 51 |     little-endian machine.  SGI machines are usually big-endian, Cobalt are
 | 
|---|
| 52 |     usually little-endian.  If in doubt you can <command>echo ${MACHTYPE} | grep 'el-'
 | 
|---|
| 53 |     </command>- this will match a little-endian machine.</para>
 | 
|---|
| 54 | 
 | 
|---|
| 55 |     <para os="e2">To test on a little-endian machine issue:
 | 
|---|
| 56 |     <userinput>make LDEMULATION=elf32ltsmip check</userinput>.</para>
 | 
|---|
| 57 | 
 | 
|---|
| 58 |     <para os="e1">To test on a big-endian machine issue:
 | 
|---|
| 59 |     <userinput>make LDEMULATION=elf32btsmip check</userinput>.</para>
 | 
|---|
| 60 | 
 | 
|---|
| 61 |     <variablelist os="c">
 | 
|---|
| 62 |       <title>The meaning of the override on make check:</title>
 | 
|---|
| 63 | 
 | 
|---|
| 64 |       <varlistentry>
 | 
|---|
| 65 |         <term><parameter>LDEMULATION=[emulation]</parameter></term>
 | 
|---|
| 66 |         <!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 67 |         href="../ppc64/libtool.xml"
 | 
|---|
| 68 |         xpointer="xpointer(//*[@os='c2'])"/> -->
 | 
|---|
| 69 |         <listitem os="c2">
 | 
|---|
| 70 |           <para>Libtool tends to do the wrong thing when building for multilib,
 | 
|---|
| 71 |           at least on the non-default size(s) of architecture.  The causes of
 | 
|---|
| 72 |           these errors are not well understood and they can appear, or disappear,
 | 
|---|
| 73 |           as a result of apparently innocuous other changes in the build.  In
 | 
|---|
| 74 |           this version of the book, one of the tests (pdemo-make) fails to link
 | 
|---|
| 75 |           because it tries to link the 32-bit objects against 64-bit system
 | 
|---|
| 76 |           libraries. This option enables the test to succeed without impacting
 | 
|---|
| 77 |           the other tests (compare the common alternative fixes of
 | 
|---|
| 78 |           <literal>LD="gcc ${BUILD32}"</literal> which causes far fewer tests
 | 
|---|
| 79 |           to be executed, and configuring with
 | 
|---|
| 80 |           <literal>LDFLAGS='-L/lib -L/usr/lib'</literal> which in this case
 | 
|---|
| 81 |           causes other tests to fail.)</para>
 | 
|---|
| 82 |         </listitem>
 | 
|---|
| 83 |       </varlistentry>
 | 
|---|
| 84 | 
 | 
|---|
| 85 |     </variablelist>
 | 
|---|
| 86 | 
 | 
|---|
| 87 |     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 88 |     href="../common/libtool.xml"
 | 
|---|
| 89 |     xpointer="xpointer(//*[@os='f'])"/>
 | 
|---|
| 90 | 
 | 
|---|
| 91 |     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
 | 
|---|
| 92 |     href="../common/libtool.xml"
 | 
|---|
| 93 |     xpointer="xpointer(//*[@os='g'])"/>
 | 
|---|
| 94 | 
 | 
|---|
| 95 |     <para os="m1">Prepare <filename>libtool</filename> to be wrapped by
 | 
|---|
| 96 |     the multiarch wrapper. Libtool by itself is not multilib aware:</para>
 | 
|---|
| 97 | 
 | 
|---|
| 98 | <screen os="m2"><userinput>mv -v /usr/bin/libtool{,-32}</userinput></screen>
 | 
|---|
| 99 | 
 | 
|---|
| 100 |   </sect2>
 | 
|---|
| 101 | 
 | 
|---|
| 102 |   <sect2 role="content">
 | 
|---|
| 103 |     <title/>
 | 
|---|
| 104 | 
 | 
|---|
| 105 |     <para>Details on this package are located in <xref
 | 
|---|
| 106 |     linkend="contents-libtool" role="."/></para>
 | 
|---|
| 107 | 
 | 
|---|
| 108 |   </sect2>
 | 
|---|
| 109 | 
 | 
|---|
| 110 | </sect1>
 | 
|---|