Changes in / [b9908a1a:e7b6af1]


Ignore:
Files:
3 deleted
53 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    rb9908a1a re7b6af1  
    3333endif
    3434
    35 ifndef ARCH
    36   ARCH = default
    37 endif
    38 ifneq ($(ARCH), default)
    39   ifneq ($(ARCH), ml_32)
    40     ifneq ($(ARCH), ml_x32)
    41       ifneq ($(ARCH), ml_all)
    42         $(error ARCH must be either 'default' (default if unset), 'ml_32', 'ml_x32' or 'ml_all'.)
    43       endif
    44     endif
    45   endif
    46 endif
    47 
    4835book: validate profile-html
    4936        @echo "Generating chunked XHTML files at $(BASEDIR)/ ..."
     
    138125                --xinclude                            \
    139126                --stringparam profile.revision $(REV) \
    140                 --stringparam profile.arch $(ARCH)    \
    141127                --output $(RENDERTMP)/lfs-html2.xml   \
    142128                stylesheets/lfs-xsl/profile.xsl       \
     
    196182                --xinclude                            \
    197183                --stringparam profile.revision $(REV) \
    198                 --stringparam profile.arch $(ARCH)    \
    199184                --output $(RENDERTMP)/md5sum.xml      \
    200185                stylesheets/lfs-xsl/profile.xsl       \
  • chapter01/askforhelp.xml

    rb9908a1a re7b6af1  
    6161    <itemizedlist>
    6262      <listitem>
    63         <para>The version of the book being used (in this case &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase>)</para>
     63        <para>The version of the book being used (in this case &version;)</para>
    6464      </listitem>
    6565      <listitem>
     
    7676      </listitem>
    7777      <listitem>
    78         <para>Note whether you have deviated from the book at all</para>
     78        <para>Note whether you have deviated from the book at all </para>
    7979      </listitem>
    8080    </itemizedlist>
  • chapter01/changelog.xml

    rb9908a1a re7b6af1  
    1111  <title>Changelog</title>
    1212
    13   <para>This is version &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase> of the Linux From Scratch book, dated
     13  <para>This is version &version; of the Linux From Scratch book, dated
    1414  &releasedate;. If this book is more than six months old, a newer and better
    1515  version is probably already available. To find out, please check one of the
  • chapter02/hostreqs.xml

    rb9908a1a re7b6af1  
    277277bash version-check.sh</userinput></screen>
    278278
    279     <para arch="ml_32,ml_x32,ml_all">
    280       Building multilib support requires the kernel of the host system
    281       to have 32-bit emulation support included.
    282     </para>
    283 <screen arch="ml_32,ml_x32,ml_all">Binary Emulations  ---&gt;
    284     [*] IA32 Emulation
    285     &lt;M&gt;   IA32 a.out support
    286     [*] x32 ABI for 64-bit mode
    287 </screen>
    288 
    289     <para arch="ml_32,ml_x32,ml_all">The option 'IA32 a.out support' is
    290       optional. In case your kernel does not have 'x32 ABI for 64-bit mode'
    291       enabled but only 'IA32 Emulation', you can continue to build your
    292       system but you have to leave out any sections showing instructions
    293       for building x32 objects. If neither 'IA32 Emulation' nor
    294       'x32 ABI for 64-bit mode' is enabled, you will run in errors
    295       latest when building <application>glibc</application> in Chapter 6,
    296       so an upgrade of your host system kernel is required.
    297     </para>
    298    
    299   </sect2>
    300 
     279 </sect2>
    301280</sect1>
  • chapter03/packages.xml

    rb9908a1a re7b6af1  
    378378
    379379    <varlistentry>
    380       <term>ISL (&isl-version;) - <token>&isl-size;</token>:</term>
    381       <listitem>
    382         <para>Home page: <ulink url="&isl-home;"/></para>
    383         <para>Download: <ulink url="&isl-url;"/></para>
    384         <para>MD5 sum: <literal>&isl-md5;</literal></para>
    385       </listitem>
    386     </varlistentry>
    387 
    388     <varlistentry>
    389380      <term>Jinja2 (&jinja2-version;) - <token>&jinja2-size;</token>:</term>
    390381      <listitem>
  • chapter04/addinguser.xml

    rb9908a1a re7b6af1  
    8585  x86_64) chown -v lfs $LFS/lib64 ;;
    8686esac</userinput></screen>
    87 <screen arch="ml_32"  ><userinput>chown -v lfs $LFS/lib32</userinput></screen>
    88 <screen arch="ml_x32" ><userinput>chown -v lfs $LFS/libx32</userinput></screen>
    89 <screen arch="ml_all" ><userinput>chown -v lfs $LFS/{lib32,libx32}</userinput></screen>
    9087
    9188<note><para>In some host systems, the following <command>su</command> command does not complete
  • chapter04/creatingminlayout.xml

    rb9908a1a re7b6af1  
    3131  x86_64) mkdir -pv $LFS/lib64 ;;
    3232esac</userinput></screen>
    33 <screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib32
    34 ln -sv usr/lib32 $LFS/lib32</userinput></screen>
    35 <screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx32
    36 ln -sv usr/libx32 $LFS/libx32</userinput></screen>
    37 <screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32
    38 ln -sv usr/lib32 $LFS/lib32
    39 ln -sv usr/libx32 $LFS/libx32</userinput></screen>
    4033
    4134  <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
  • chapter04/settingenviron.xml

    rb9908a1a re7b6af1  
    3939  <filename>.bashrc</filename> file now:</para>
    4040
    41 <screen arch="default"><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
     41<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
    4242<literal>set +h
    4343umask 022
     
    5050CONFIG_SITE=$LFS/usr/share/config.site
    5151export LFS LC_ALL LFS_TGT PATH CONFIG_SITE</literal>
    52 EOF</userinput></screen>
    53 <screen arch="ml_32,ml_x32,ml_all"><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
    54 <literal>set +h
    55 umask 022
    56 LFS=/mnt/lfs
    57 LC_ALL=POSIX
    58 LFS_TGT=x86_64-lfs-linux-gnu
    59 LFS_TGT32=i686-lfs-linux-gnu
    60 LFS_TGTX32=x86_64-lfs-linux-gnux32
    61 PATH=/usr/bin
    62 if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
    63 PATH=$LFS/tools/bin:$PATH
    64 CONFIG_SITE=$LFS/usr/share/config.site
    65 export LFS LC_ALL LFS_TGT LFS_TGT32 LFS_TGTX32 PATH</literal>
    6652EOF</userinput></screen>
    6753
  • chapter05/binutils-pass1.xml

    rb9908a1a re7b6af1  
    7171    <para>Now prepare Binutils for compilation:</para>
    7272
    73     <screen arch="default"><userinput remap="configure">../configure --prefix=$LFS/tools \
     73    <screen><userinput remap="configure">../configure --prefix=$LFS/tools \
    7474             --with-sysroot=$LFS \
    7575             --target=$LFS_TGT   \
     
    7878             --disable-werror    \
    7979             --enable-default-hash-style=gnu</userinput></screen>
    80 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=$LFS/tools       \
    81              --with-sysroot=$LFS \
    82              --target=$LFS_TGT   \
    83              --disable-nls       \
    84              --enable-gprofng=no \
    85              --disable-werror    \
    86              --enable-default-hash-style=gnu \
    87              --enable-multilib</userinput></screen>
    8880
    8981    <variablelist>
     
    158150      </varlistentry>
    159151
    160       <varlistentry arch="ml_32,ml_x32,ml_all">
    161         <term><parameter>--enable-multilib</parameter></term>
    162         <listitem>
    163           <para>Enables multilib support.</para>
    164         </listitem>
    165       </varlistentry>
    166 
    167152    </variablelist>
    168153
  • chapter05/gcc-pass1.xml

    rb9908a1a re7b6af1  
    6363mv -v mpc-&mpc-version; mpc</userinput></screen>
    6464
    65     <para arch="default">On x86_64 hosts, set the default directory name for
     65    <para>On x86_64 hosts, set the default directory name for
    6666    64-bit libraries to <quote>lib</quote>:</para>
    6767
    68 <screen arch="default"><userinput remap="pre">case $(uname -m) in
     68<screen><userinput remap="pre">case $(uname -m) in
    6969  x86_64)
    7070    sed -e '/m64=/s/lib64/lib/' \
     
    7373esac</userinput></screen>
    7474
    75     <para arch="ml_32,ml_x32,ml_all">Change the default directory name for
    76     libraries:</para>
    77 
    78 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    79     -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
    80     -i.orig gcc/config/i386/t-linux64
    81 </userinput></screen>
    82 
    8375    <para>The GCC documentation recommends building GCC
    8476    in a dedicated build directory:</para>
     
    8981    <para>Prepare GCC for compilation:</para>
    9082
    91 <screen arch="default"><userinput remap="configure">../configure                  \
     83<screen><userinput remap="configure">../configure                  \
    9284    --target=$LFS_TGT         \
    9385    --prefix=$LFS/tools       \
     
    109101    --disable-libstdcxx       \
    110102    --enable-languages=c,c++</userinput></screen>
    111 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
    112     arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
    113     arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
    114     arch="ml_all">mlist=m64,m32,mx32</userinput>
    115 <userinput remap="configure">../configure                  \
    116     --target=$LFS_TGT                              \
    117     --prefix=$LFS/tools                            \
    118     --with-glibc-version=&glibc-version;                      \
    119     --with-sysroot=$LFS                            \
    120     --with-newlib                                  \
    121     --without-headers                              \
    122     --enable-default-pie                           \
    123     --enable-default-ssp                           \
    124     --enable-initfini-array                        \
    125     --disable-nls                                  \
    126     --disable-shared                               \
    127     --enable-multilib --with-multilib-list=$mlist  \
    128     --disable-decimal-float                        \
    129     --disable-threads                              \
    130     --disable-libatomic                            \
    131     --disable-libgomp                              \
    132     --disable-libquadmath                          \
    133     --disable-libssp                               \
    134     --disable-libvtv                               \
    135     --disable-libstdcxx                            \
    136     --enable-languages=c,c++</userinput></screen>
    137 
    138103    <variablelist>
    139104      <title>The meaning of the configure options:</title>
     
    192157      </varlistentry>
    193158
    194       <varlistentry arch="default">
     159      <varlistentry>
    195160        <term><parameter>--disable-multilib</parameter></term>
    196161        <listitem>
    197162          <para>On x86_64, LFS does not support a multilib configuration.
    198163          This switch is harmless for x86.</para>
    199         </listitem>
    200       </varlistentry>
    201       <varlistentry arch="ml_32,ml_x32,ml_all">
    202         <term><parameter>--enable-multilib --with-multilib-list=...</parameter></term>
    203         <listitem>
    204           <para>LFS canbe used to support multilib. Which they are is
    205           specified in the multilib list.</para>
    206164        </listitem>
    207165      </varlistentry>
  • chapter05/glibc.xml

    rb9908a1a re7b6af1  
    4848    operation of the dynamic library loader:</para>
    4949
    50 <screen arch="default"><userinput remap="pre">case $(uname -m) in
     50<screen><userinput remap="pre">case $(uname -m) in
    5151    i?86)   ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3
    5252    ;;
     
    5555    ;;
    5656esac</userinput></screen>
    57 <!-- no ld-linux.so.2 here as multilib is based on x86_64, not on i686 -->
    58 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64
    59 ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3</userinput></screen>
    6057
    6158    <note>
     
    217214<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
    218215
    219       <para arch="default">Note that for 32-bit machines, the interpreter name will be
     216      <para>Note that for 32-bit machines, the interpreter name will be
    220217      <filename>/lib/ld-linux.so.2</filename>.</para>
    221218
     
    245242  </sect2>
    246243
    247   <!-- - - - - - - - - - -->
    248   <!-- Multilib - 32bit  -->
    249   <!-- - - - - - - - - - -->
    250   <sect2 arch="ml_32,ml_all">
    251     <title>Building Glibc - 32bit</title>
    252 
    253     <para>Now recompile for m32. The extracted source can be
    254     reused but needs to be cleaned before installing the m32
    255     version of Glibc.</para>
    256 
    257     <para>Clear the build directory and remove artefacts from
    258     previous build:</para>
    259      
    260 <screen><userinput remap="pre">make clean
    261 find .. -name "*.a" -delete</userinput></screen>
    262 
    263     <para>Configure Glibc for m32 with the following commands:</para>
    264 
    265 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \
    266 CXX="$LFS_TGT-g++ -m32" \
    267 ../configure                             \
    268       --prefix=/usr                      \
    269       --host=$LFS_TGT32                  \
    270       --build=$(../scripts/config.guess) \
    271       --enable-kernel=&min-kernel;                \
    272       --with-headers=$LFS/usr/include    \
    273       --disable-nscd                     \
    274       --libdir=/usr/lib32                \
    275       --libexecdir=/usr/lib32            \
    276       libc_cv_slibdir=/usr/lib32</userinput></screen>
    277 
    278     <para>Compile the package:</para>
    279 
    280 <screen><userinput remap="make">make</userinput></screen>
    281 
    282     <para>Install the package:</para>
    283 
    284 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    285 cp -a DESTDIR/usr/lib32 $LFS/usr/
    286 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
    287                $LFS/usr/include/gnu/
    288 ln -svf ../lib32/ld-linux.so.2 $LFS/lib/ld-linux.so.2</userinput></screen>
    289 
    290 
    291     <caution>
    292       <para>At this point, it is imperative to stop and ensure that the basic
    293       functions (compiling and linking) of the new toolchain are working as
    294       expected. To perform a sanity check, run the following commands:</para>
    295 
    296 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    297 $LFS_TGT-gcc -m32 dummy.c
    298 readelf -l a.out | grep '/ld-linux'</userinput></screen>
    299 
    300       <para>If everything is working correctly, there should be no errors,
    301       and the output of the last command will be of the form:</para>
    302 
    303 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
    304 
    305       <para>If the output is not shown as above or there was no output at all,
    306       then something is wrong. Investigate and retrace the steps to find out
    307       where the problem is and correct it. This issue must be resolved before
    308       continuing on.</para>
    309 
    310       <para>Once all is well, clean up the test files:</para>
    311 
    312 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    313 
    314     </caution>
    315 
    316   </sect2><!-- m32 -->
    317 
    318   <!-- - - - - - - - - - -->
    319   <!-- Multilib - x32bit -->
    320   <!-- - - - - - - - - - -->
    321  
    322   <sect2 arch="ml_x32,ml_all">
    323     <title>Building Glibc - x32bit</title>
    324 
    325     <para>Now recompile for mx32. The extracted source can be
    326     reused but needs to be cleaned before installing the mx32
    327     version of Glibc.</para>
    328 
    329     <para>Clear the build directory and remove artefacts from
    330     previous build:</para>
    331      
    332 <screen><userinput remap="pre">make clean
    333 find .. -name "*.a" -delete</userinput></screen>
    334 
    335     <para>Configure Glibc for mx32 with the following commands:</para>
    336 
    337 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \
    338 CXX="$LFS_TGT-g++ -mx32" \
    339 ../configure                             \
    340       --prefix=/usr                      \
    341       --host=$LFS_TGTX32                 \
    342       --build=$(../scripts/config.guess) \
    343       --enable-kernel=&min-kernel;                \
    344       --with-headers=$LFS/usr/include    \
    345       --disable-nscd                     \
    346       --libdir=/usr/libx32               \
    347       --libexecdir=/usr/libx32           \
    348       libc_cv_slibdir=/usr/libx32</userinput></screen>
    349 
    350     <para>Compile the package:</para>
    351 
    352 <screen><userinput remap="make">make</userinput></screen>
    353 
    354     <para>Install the package:</para>
    355 
    356 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    357 cp -a DESTDIR/usr/libx32 $LFS/usr/
    358 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
    359                $LFS/usr/include/gnu/
    360 ln -svf ../libx32/ld-linux-x32.so.2 $LFS/lib/ld-linux-x32.so.2</userinput></screen>
    361 
    362     <caution>
    363       <para>At this point, it is imperative to stop and ensure that the basic
    364       functions (compiling and linking) of the new toolchain are working as
    365       expected. To perform a sanity check, run the following commands:</para>
    366 
    367 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    368 $LFS_TGT-gcc -mx32 dummy.c
    369 readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
    370 
    371       <para>If everything is working correctly, there should be no errors,
    372       and the output of the last command will be of the form:</para>
    373 
    374 <screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
    375 
    376       <para>If the output is not shown as above or there was no output at all,
    377       then something is wrong. Investigate and retrace the steps to find out
    378       where the problem is and correct it. This issue must be resolved before
    379       continuing on.</para>
    380 
    381       <para>Once all is well, clean up the test files:</para>
    382 
    383 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    384 
    385     </caution>
    386 
    387   </sect2><!-- mx32 -->
    388 
    389244  <sect2 role="content">
    390245    <title/>
  • chapter05/libstdc++.xml

    rb9908a1a re7b6af1  
    6161    <para>Prepare Libstdc++ for compilation:</para>
    6262
    63 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure           \
    64     --host=$LFS_TGT                 \
    65     --build=$(../config.guess)      \
    66     --prefix=/usr                   \
    67     --enable-multilib               \
    68     --disable-nls                   \
    69     --disable-libstdcxx-pch         \
    70     --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
    71 <screen arch="default"><userinput remap="configure">../libstdc++-v3/configure           \
     63<screen><userinput remap="configure">../libstdc++-v3/configure           \
    7264    --host=$LFS_TGT                 \
    7365    --build=$(../config.guess)      \
     
    8779          should be used instead of the one in
    8880          <filename>/usr/bin</filename>.</para>
    89         </listitem>
    90       </varlistentry>
    91 
    92       <varlistentry arch="ml_32,ml_x32,ml_all">
    93         <term><parameter>--enable-multilib</parameter></term>
    94         <listitem>
    95           <para>Enable building multilib objects.</para>
    9681        </listitem>
    9782      </varlistentry>
  • chapter06/binutils-pass2.xml

    rb9908a1a re7b6af1  
    6565    <para>Prepare Binutils for compilation:</para>
    6666
    67 <screen arch="default"><userinput remap="configure">../configure                   \
     67<screen><userinput remap="configure">../configure                   \
    6868    --prefix=/usr              \
    6969    --build=$(../config.guess) \
     
    7575    --enable-64-bit-bfd        \
    7676    --enable-default-hash-style=gnu</userinput></screen>
    77 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure                   \
    78     --prefix=/usr              \
    79     --build=$(../config.guess) \
    80     --host=$LFS_TGT            \
    81     --disable-nls              \
    82     --enable-shared            \
    83     --enable-gprofng=no        \
    84     --disable-werror           \
    85     --enable-64-bit-bfd        \
    86     --enable-default-hash-style=gnu \
    87     --enable-multilib</userinput></screen>
    8877
    8978    <variablelist>
     
    10493          <para>Enables 64-bit support (on hosts with smaller word sizes).
    10594          This may not be needed on 64-bit systems, but it does no harm.</para>
    106         </listitem>
    107       </varlistentry>
    108 
    109       <varlistentry arch="ml_32,ml_x32,ml_all">
    110         <term><parameter>--enable-multilib</parameter></term>
    111         <listitem>
    112           <para>Enables multilib support in bintutils.</para>
    11395        </listitem>
    11496      </varlistentry>
  • chapter06/gcc-pass2.xml

    rb9908a1a re7b6af1  
    5858mv -v mpc-&mpc-version; mpc</userinput></screen>
    5959
    60 
    61     <para arch="default">If building on x86_64, change the default directory name for 64-bit
     60    <para>If building on x86_64, change the default directory name for 64-bit
    6261    libraries to <quote>lib</quote>:</para>
    6362
    64 <screen arch="default"><userinput remap="pre">case $(uname -m) in
     63<screen><userinput remap="pre">case $(uname -m) in
    6564  x86_64)
    6665    sed -e '/m64=/s/lib64/lib/' \
     
    6867  ;;
    6968esac</userinput></screen>
    70 
    71     <para arch="ml_32,ml_x32,ml_all">Change the default directory name for the
    72     libraries:</para>
    73 
    74 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    75     -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
    76     -i.orig gcc/config/i386/t-linux64</userinput></screen>
    7769
    7870    <para>Override the building rule of libgcc and libstdc++ headers, to
     
    9284    <para>Now prepare GCC for compilation:</para>
    9385
    94 <screen arch="default"><userinput remap="configure">../configure                                       \
     86<screen><userinput remap="configure">../configure                                       \
    9587    --build=$(../config.guess)                     \
    9688    --host=$LFS_TGT                                \
     
    10395    --disable-nls                                  \
    10496    --disable-multilib                             \
    105     --disable-libatomic                            \
    106     --disable-libgomp                              \
    107     --disable-libquadmath                          \
    108     --disable-libsanitizer                         \
    109     --disable-libssp                               \
    110     --disable-libvtv                               \
    111     --enable-languages=c,c++</userinput></screen>
    112 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
    113     arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
    114     arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
    115     arch="ml_all">mlist=m64,m32,mx32</userinput>
    116 <userinput remap="configure">../configure                                       \
    117     --build=$(../config.guess)                     \
    118     --host=$LFS_TGT                                \
    119     --target=$LFS_TGT                              \
    120     LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc      \
    121     --prefix=/usr                                  \
    122     --with-build-sysroot=$LFS                      \
    123     --enable-default-pie                           \
    124     --enable-default-ssp                           \
    125     --disable-nls                                  \
    126     --enable-multilib --with-multilib-list=$mlist  \
    12797    --disable-libatomic                            \
    12898    --disable-libgomp                              \
  • chapter06/ncurses.xml

    rb9908a1a re7b6af1  
    207207  </sect2>
    208208
    209   <!-- - - - - - - - - - -->
    210   <!-- Multilib - 32bit  -->
    211   <!-- - - - - - - - - - -->
    212   <sect2 arch="ml_32,ml_all">
    213     <title>Building Ncurses - 32bit</title>
    214 
    215     <para>Clean previous build:</para>
    216 
    217 <screen><userinput remap="pre">make distclean</userinput></screen>
    218 
    219     <para>Prepare Ncurses for compilation:</para>
    220 
    221 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32"              \
    222 CXX="$LFS_TGT-g++ -m32"             \
    223 ./configure --prefix=/usr           \
    224             --host=$LFS_TGT32       \
    225             --build=$(./config.guess)    \
    226             --libdir=/usr/lib32     \
    227             --mandir=/usr/share/man \
    228             --with-shared           \
    229             --without-normal        \
    230             --with-cxx-shared       \
    231             --without-debug         \
    232             --without-ada           \
    233             --disable-stripping</userinput></screen>
    234 
    235     <para>Compile the package:</para>
    236 
    237 <screen><userinput remap="make">make</userinput></screen>
    238 
    239     <para>Install the package:</para>
    240 
    241 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
    242 ln -sv libncursesw.so DESTDIR/usr/lib32/libncurses.so
    243 cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32
    244 rm -rf DESTDIR</userinput></screen>
    245 
    246   </sect2><!-- m32 -->
    247 
    248   <!-- - - - - - - - - - -->
    249   <!-- Multilib - x32bit -->
    250   <!-- - - - - - - - - - -->
    251   <sect2 arch="ml_x32,ml_all">
    252     <title>Building Ncurses - x32bit</title>
    253 
    254     <para>Clean previous build:</para>
    255 
    256 <screen><userinput remap="pre">make distclean</userinput></screen>
    257 
    258     <para>Prepare Ncurses for compilation:</para>
    259 
    260 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32"             \
    261 CXX="$LFS_TGT-g++ -mx32"            \
    262 ./configure --prefix=/usr           \
    263             --host=$LFS_TGTX32      \
    264             --build=$(./config.guess)    \
    265             --libdir=/usr/libx32    \
    266             --mandir=/usr/share/man \
    267             --with-shared           \
    268             --without-normal        \
    269             --with-cxx-shared       \
    270             --without-debug         \
    271             --without-ada           \
    272             --disable-stripping</userinput></screen>
    273 
    274     <para>Compile the package:</para>
    275 
    276 <screen><userinput remap="make">make</userinput></screen>
    277 
    278     <para>Install the package:</para>
    279 
    280 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
    281 ln -sv libncursesw.so DESTDIR/usr/libx32/libncurses.so
    282 cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32
    283 rm -rf DESTDIR</userinput></screen>
    284 
    285   </sect2><!-- mx32 -->
    286 
    287209  <sect2 role="content">
    288210    <title/>
  • chapter07/changingowner.xml

    rb9908a1a re7b6af1  
    3939esac</userinput></screen>
    4040
    41   <para arch="ml_32,ml_x32,ml_all">Some more directories exists for
    42   multilib support. Change their ownership, too:</para>
    43 <screen arch="ml_32,ml_x32,ml_all"><userinput arch="ml_32,ml_all">chown -R root:root $LFS/lib32</userinput>
    44 <userinput arch="ml_x32,ml_all">chown -R root:root $LFS/libx32</userinput></screen>
    45  
    4641</sect1>
  • chapter07/cleanup.xml

    rb9908a1a re7b6af1  
    2424    failures.  Remove those files now:</para>
    2525
    26 <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32">
    27 find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32">
    28 find /usr/libx32 -name \*.la -delete</userinput><userinput arch="ml_all">
    29 find /usr/lib{,x}32 -name \*.la -delete</userinput></screen>
     26<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
    3027
    3128    <para>
  • chapter07/creatingdirs.xml

    rb9908a1a re7b6af1  
    4343install -dv -m 1777 /tmp /var/tmp</userinput></screen>
    4444
    45   <para arch="ml_32,ml_x32,ml_all">Required directories for multilib
    46   support has already been created while previous installation steps.</para>
    47 
    4845  <para>Directories are, by default, created with permission mode 755, but
    4946  this is not desirable everywhere. In the commands above, two
  • chapter07/util-linux.xml

    rb9908a1a re7b6af1  
    128128  </sect2>
    129129
    130   <!-- - - - - - - - - - -->
    131   <!-- Multilib - 32bit  -->
    132   <!-- - - - - - - - - - -->
    133  
    134   <sect2 arch="ml_32,ml_all" role="installation">
    135     <title>Installation of Util-linux - 32-bit</title>
    136 
    137     <para>Clean previous build:</para>
    138 
    139 <screen><userinput remap="pre">make distclean</userinput></screen>
    140 
    141     <para>Prepare Util-linux for compilation:</para>
    142 
    143 <screen><userinput remap="configure">CC="gcc -m32" \
    144 ./configure --host=i686-pc-linux-gnu \
    145             --libdir=/usr/lib32      \
    146             --runstatedir=/run       \
    147             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    148             --disable-chfn-chsh   \
    149             --disable-login       \
    150             --disable-nologin     \
    151             --disable-su          \
    152             --disable-setpriv     \
    153             --disable-runuser     \
    154             --disable-pylibmount  \
    155             --disable-static      \
    156             --disable-liblastlog2 \
    157             --without-python      \
    158             ADJTIME_PATH=/var/lib/hwclock/adjtime</userinput></screen>
    159 
    160     <para>Compile the package:</para>
    161 
    162 <screen><userinput remap="make">make</userinput></screen>
    163 
    164     <para>Install the package:</para>
    165 
    166 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    167 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    168 rm -rf DESTDIR</userinput></screen>
    169 
    170   </sect2><!-- m32 -->
    171 
    172   <!-- - - - - - - - - - -->
    173   <!-- Multilib - x32bit -->
    174   <!-- - - - - - - - - - -->
    175  
    176   <sect2 arch="ml_x32,ml_all" role="installation">
    177     <title>Installation of Util-linux - x32-bit</title>
    178 
    179     <para>Clean previous build:</para>
    180 
    181 <screen><userinput remap="pre">make distclean</userinput></screen>
    182 
    183     <para>Prepare Util-linux for compilation:</para>
    184 
    185 <screen><userinput remap="configure">CC="gcc -mx32" \
    186 ./configure --host=x86_64-pc-linux-gnux32 \
    187             --libdir=/usr/libx32     \
    188             --runstatedir=/run       \
    189             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    190             --disable-chfn-chsh   \
    191             --disable-login       \
    192             --disable-nologin     \
    193             --disable-su          \
    194             --disable-setpriv     \
    195             --disable-runuser     \
    196             --disable-pylibmount  \
    197             --disable-static      \
    198             --disable-liblastlog2 \
    199             --without-python      \
    200             ADJTIME_PATH=/var/lib/hwclock/adjtime</userinput></screen>
    201 
    202     <para>Compile the package:</para>
    203 
    204 <screen><userinput remap="make">make</userinput></screen>
    205 
    206     <para>Install the package:</para>
    207 
    208 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    209 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    210 rm -rf DESTDIR</userinput></screen>
    211 
    212   </sect2><!-- mx32 -->
    213 
    214130  <sect2 role="content">
    215131    <title/>
  • chapter08/acl.xml

    rb9908a1a re7b6af1  
    6464
    6565  </sect2>
    66 
    67   <!-- - - - - - - - - - -->
    68   <!-- Multilib - 32bit  -->
    69   <!-- - - - - - - - - - -->
    70  
    71   <sect2 arch="ml_32,ml_all" role="installation">
    72     <title>Installation of Acl - 32bit</title>
    73 
    74     <para>Clean previous build:</para>
    75 
    76 <screen><userinput remap="pre">make distclean</userinput></screen>
    77 
    78     <para>Prepare Acl for compilation:</para>
    79 
    80 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    81     --prefix=/usr         \
    82     --disable-static      \
    83     --libdir=/usr/lib32   \
    84     --libexecdir=/usr/lib32   \
    85     --host=i686-pc-linux-gnu</userinput></screen>
    86 
    87     <para>Compile the package:</para>
    88 
    89 <screen><userinput remap="make">make</userinput></screen>
    90 
    91     <para>Install the package:</para>
    92 
    93 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    94 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    95 rm -rf DESTDIR</userinput></screen>
    96 
    97   </sect2><!-- m32 -->
    98 
    99   <!-- - - - - - - - - - -->
    100   <!-- Multilib - x32bit -->
    101   <!-- - - - - - - - - - -->
    102  
    103   <sect2 arch="ml_x32,ml_all" role="installation">
    104     <title>Installation of Acl - x32bit</title>
    105 
    106     <para>Clean previous build:</para>
    107 
    108 <screen><userinput remap="pre">make distclean</userinput></screen>
    109 
    110     <para>Prepare Acl for compilation:</para>
    111 
    112 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    113     --prefix=/usr          \
    114     --disable-static       \
    115     --libdir=/usr/libx32   \
    116     --libexecdir=/usr/libx32   \
    117     --host=x86_64-pc-linux-gnux32</userinput></screen>
    118 
    119     <para>Compile the package:</para>
    120 
    121 <screen><userinput remap="make">make</userinput></screen>
    122 
    123     <para>Install the package:</para>
    124 
    125 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    126 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    127 rm -rf DESTDIR</userinput></screen>
    128 
    129   </sect2><!-- mx32 -->
    13066
    13167  <sect2 id="contents-acl" role="content">
  • chapter08/attr.xml

    rb9908a1a re7b6af1  
    6565  </sect2>
    6666
    67   <!-- - - - - - - - - - -->
    68   <!-- Multilib - 32bit  -->
    69   <!-- - - - - - - - - - -->
    70  
    71   <sect2 arch="ml_32,ml_all" role="installation">
    72     <title>Installation of Attr - 32bit</title>
    73 
    74     <para>Clean previous build:</para>
    75 
    76 <screen><userinput remap="pre">make distclean</userinput></screen>
    77 
    78     <para>Prepare Attr for compilation:</para>
    79 
    80 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    81     --prefix=/usr         \
    82     --disable-static      \
    83     --sysconfdir=/etc     \
    84     --libdir=/usr/lib32   \
    85     --host=i686-pc-linux-gnu</userinput></screen>
    86 
    87     <para>Compile the package:</para>
    88 
    89 <screen><userinput remap="make">make</userinput></screen>
    90 
    91     <para>Install the package:</para>
    92 
    93 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    94 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    95 rm -rf DESTDIR</userinput></screen>
    96 
    97   </sect2><!-- m32 -->
    98 
    99   <!-- - - - - - - - - - -->
    100   <!-- Multilib - x32bit -->
    101   <!-- - - - - - - - - - -->
    102  
    103   <sect2 arch="ml_x32,ml_all" role="installation">
    104     <title>Installation of Attr - x32bit</title>
    105 
    106     <para>Clean previous build:</para>
    107 
    108 <screen><userinput remap="pre">make distclean</userinput></screen>
    109 
    110     <para>Prepare Attr for compilation:</para>
    111 
    112 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    113     --prefix=/usr          \
    114     --disable-static       \
    115     --sysconfdir=/etc      \
    116     --libdir=/usr/libx32   \
    117     --host=x86_64-pc-linux-gnux32</userinput></screen>
    118 
    119     <para>Compile the package:</para>
    120 
    121 <screen><userinput remap="make">make</userinput></screen>
    122 
    123     <para>Install the package:</para>
    124 
    125 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    126 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    127 rm -rf DESTDIR</userinput></screen>
    128 
    129   </sect2><!-- mx32 -->
    130 
    13167  <sect2 id="contents-attr" role="content">
    13268    <title>Contents of Attr</title>
  • chapter08/binutils.xml

    rb9908a1a re7b6af1  
    5050    <para>Prepare Binutils for compilation:</para>
    5151
    52 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr       \
     52<screen><userinput remap="configure">../configure --prefix=/usr       \
    5353             --sysconfdir=/etc   \
    5454             --enable-gold       \
     
    6060             --with-system-zlib  \
    6161             --enable-default-hash-style=gnu</userinput></screen>
    62 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr       \
    63              --sysconfdir=/etc   \
    64              --enable-gold       \
    65              --enable-ld=default \
    66              --enable-plugins    \
    67              --enable-shared     \
    68              --disable-werror    \
    69              --enable-64-bit-bfd \
    70              --with-system-zlib  \
    71              --enable-default-hash-style=gnu \
    72              --enable-multilib</userinput></screen>
    7362
    7463    <variablelist>
     
    10392          <para>Use the installed zlib library instead of building the
    10493          included version.</para>
    105         </listitem>
    106       </varlistentry>
    107 
    108       <varlistentry arch="ml_32,ml_x32,ml_all">
    109         <term><parameter>--enable-multilib</parameter></term>
    110         <listitem>
    111           <para>Enables multilib support in bintutils.</para>
    11294        </listitem>
    11395      </varlistentry>
  • chapter08/bzip2.xml

    rb9908a1a re7b6af1  
    103103
    104104  </sect2>
    105 
    106   <!-- - - - - - - - - - -->
    107   <!-- Multilib - 32bit  -->
    108   <!-- - - - - - - - - - -->
    109  
    110   <sect2 arch="ml_32,ml_all" role="installation">
    111     <title>Installation of Bzip2 - 32bit</title>
    112 
    113     <para>Clean previous build:</para>
    114 
    115 <screen><userinput remap="pre">make clean</userinput></screen>
    116 
    117     <para>Compile the package:</para>
    118 
    119 <screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -m32/" -i Makefile{,-libbz2_so}
    120 make -f Makefile-libbz2_so
    121 make libbz2.a</userinput></screen>
    122 
    123     <para>Install the package:</para>
    124 
    125 <screen><userinput remap="install">install -Dm755 libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0.8
    126 ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so
    127 ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1
    128 ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0
    129 install -Dm644 libbz2.a /usr/lib32/libbz2.a</userinput></screen>
    130 
    131   </sect2><!-- m32 -->
    132 
    133   <!-- - - - - - - - - - -->
    134   <!-- Multilib - x32bit -->
    135   <!-- - - - - - - - - - -->
    136  
    137   <sect2 arch="ml_x32,ml_all" role="installation">
    138     <title>Installation of Bzip2 - x32bit</title>
    139 
    140     <para>Clean previous build:</para>
    141 
    142 <screen><userinput remap="pre">make clean</userinput></screen>
    143 
    144     <para>Compile the package:</para>
    145 
    146 <screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -mx32/" -i Makefile{,-libbz2_so}
    147 make -f Makefile-libbz2_so
    148 make libbz2.a</userinput></screen>
    149 
    150     <para>Install the package:</para>
    151 
    152 <screen><userinput remap="install">install -Dm755 libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0.8
    153 ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so
    154 ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1
    155 ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0
    156 install -Dm644 libbz2.a /usr/libx32/libbz2.a</userinput></screen>
    157 
    158   </sect2><!-- mx32 -->
    159105
    160106  <sect2 id="contents-bzip2" role="content">
  • chapter08/chapter08.xml

    rb9908a1a re7b6af1  
    3636  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
    3737  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
    38   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="isl.xml"/>
    3938  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
    4039  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
  • chapter08/cleanup.xml

    rb9908a1a re7b6af1  
    2222  builds.  Remove those files now:</para>
    2323
    24 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput><userinput arch="ml_32,ml_all">
    25 find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32,ml_all">
    26 find /usr/libx32 -name \*.la -delete</userinput></screen>
     24<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
    2725
    2826   <para>For more information about libtool archive files, see the <ulink
  • chapter08/expat.xml

    rb9908a1a re7b6af1  
    6666  </sect2>
    6767
    68   <!-- - - - - - - - - - -->
    69   <!-- Multilib - 32bit  -->
    70   <!-- - - - - - - - - - -->
    71  
    72   <sect2 arch="ml_32,ml_all" role="installation">
    73     <title>Installation of Expat - 32bit</title>
    74 
    75     <para>Clean previous build but keep precompiled doc because it
    76     cannot be rebuilt in this stage of the system:</para>
    77 
    78 <screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
    79 make clean</userinput></screen>
    80 
    81     <para>Prepare Expat for compilation:</para>
    82 
    83 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    84     --prefix=/usr        \
    85     --disable-static     \
    86     --libdir=/usr/lib32  \
    87     --host=i686-pc-linux-gnu</userinput></screen>
    88 
    89     <para>Compile the package:</para>
    90 
    91 <screen><userinput remap="make">make</userinput></screen>
    92 
    93     <para>Install the package:</para>
    94 
    95 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    96 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    97 rm -rf DESTDIR</userinput></screen>
    98 
    99   </sect2><!-- m32 -->
    100 
    101   <!-- - - - - - - - - - -->
    102   <!-- Multilib - x32bit -->
    103   <!-- - - - - - - - - - -->
    104  
    105   <sect2 arch="ml_x32,ml_all" role="installation">
    106     <title>Installation of Expat - x32bit</title>
    107 
    108     <para>Clean previous build but keep precompiled doc because it
    109     cannot be rebuilt in this stage of the system:</para>
    110 
    111 <screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
    112 make clean</userinput></screen>
    113 
    114     <para>Prepare Expat for compilation:</para>
    115 
    116 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    117     --prefix=/usr        \
    118     --disable-static     \
    119     --libdir=/usr/libx32 \
    120     --host=x86_64-pc-linux-gnux32</userinput></screen>
    121 
    122     <para>Compile the package:</para>
    123 
    124 <screen><userinput remap="make">make</userinput></screen>
    125 
    126     <para>Install the package:</para>
    127 
    128 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    129 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    130 rm -rf DESTDIR</userinput></screen>
    131 
    132   </sect2><!-- mx32 -->
    133 
    13468  <sect2 id="contents-expat" role="content">
    13569    <title>Contents of Expat</title>
  • chapter08/file.xml

    rb9908a1a re7b6af1  
    6060  </sect2>
    6161
    62   <!-- - - - - - - - - - -->
    63   <!-- Multilib - 32bit  -->
    64   <!-- - - - - - - - - - -->
    65  
    66   <sect2 arch="ml_32,ml_all" role="installation">
    67     <title>Installation of File - 32bit</title>
    68 
    69     <para>Clean previous build:</para>
    70 
    71 <screen><userinput remap="pre">make distclean</userinput></screen>
    72 
    73     <para>Prepare File for compilation:</para>
    74 
    75 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    76     --prefix=/usr         \
    77     --libdir=/usr/lib32   \
    78     --host=i686-pc-linux-gnu</userinput></screen>
    79 
    80     <para>Compile the package:</para>
    81 
    82 <screen><userinput remap="make">make</userinput></screen>
    83 
    84     <para>Install the package:</para>
    85 
    86 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    87 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    88 rm -rf DESTDIR</userinput></screen>
    89 
    90   </sect2><!-- m32 -->
    91 
    92   <!-- - - - - - - - - - -->
    93   <!-- Multilib - x32bit -->
    94   <!-- - - - - - - - - - -->
    95  
    96   <sect2 arch="ml_x32,ml_all" role="installation">
    97     <title>Installation of File - x32bit</title>
    98 
    99     <para>Clean previous build:</para>
    100 
    101 <screen><userinput remap="pre">make distclean</userinput></screen>
    102 
    103     <para>Prepare File for compilation:</para>
    104 
    105 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    106     --prefix=/usr          \
    107     --libdir=/usr/libx32   \
    108     --host=x86_64-pc-linux-gnux32</userinput></screen>
    109 
    110     <para>Compile the package:</para>
    111 
    112 <screen><userinput remap="make">make</userinput></screen>
    113 
    114     <para>Install the package:</para>
    115 
    116 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    117 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    118 rm -rf DESTDIR</userinput></screen>
    119 
    120   </sect2><!-- mx32 -->
    12162
    12263  <sect2 id="contents-file" role="content">
  • chapter08/gcc.xml

    rb9908a1a re7b6af1  
    4545    libraries to <quote>lib</quote>:</para>
    4646
    47 <screen arch="default"><userinput remap="pre">case $(uname -m) in
     47<screen><userinput remap="pre">case $(uname -m) in
    4848  x86_64)
    4949    sed -e '/m64=/s/lib64/lib/' \
     
    5252esac</userinput></screen>
    5353
    54     <para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit
    55     libraries to <quote>lib</quote>:</para>
    56 
    57 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    58     -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
    59     -i.orig gcc/config/i386/t-linux64</userinput></screen>
    60 
    6154    <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
    6255
     
    6659    <para>Prepare GCC for compilation:</para>
    6760
    68 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr            \
     61<screen><userinput remap="configure">../configure --prefix=/usr            \
    6962             LD=ld                    \
    7063             --enable-languages=c,c++ \
     
    7568             --disable-bootstrap      \
    7669             --disable-fixincludes    \
    77              --with-system-zlib</userinput></screen>
    78 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
    79   arch="ml_32" >mlist=m64,m32</userinput><userinput remap="configure"
    80   arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
    81   arch="ml_all">mlist=m64,m32,mx32</userinput>
    82 <userinput remap="configure">../configure --prefix=/usr               \
    83              LD=ld                       \
    84              --enable-languages=c,c++    \
    85              --enable-default-pie        \
    86              --enable-default-ssp        \
    87              --enable-host-pie           \
    88              --enable-multilib           \
    89              --with-multilib-list=$mlist \
    90              --disable-bootstrap         \
    91              --disable-fixincludes       \
    9270             --with-system-zlib</userinput></screen>
    9371
     
    310288SEARCH_DIR("/usr/lib");</computeroutput></screen>
    311289
    312    <para arch="default">A 32-bit system may use a few other directories. For example, here
     290   <para>A 32-bit system may use a few other directories. For example, here
    313291   is the output from an i686 machine:</para>
    314292
    315 <!-- not using entities here as the dir names has nothing to do with multilib -->
    316 <screen arch="default"><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
     293<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
    317294SEARCH_DIR("/usr/local/lib32")
    318295SEARCH_DIR("/lib32")
  • chapter08/gdbm.xml

    rb9908a1a re7b6af1  
    8686  </sect2>
    8787
    88   <!-- - - - - - - - - - -->
    89   <!-- Multilib - 32bit  -->
    90   <!-- - - - - - - - - - -->
    91 
    92   <sect2 arch="ml_32,ml_all" role="installation">
    93     <title>Installation of GDBM - 32bit</title>
    94 
    95     <para>Clean previous build:</para>
    96 
    97 <screen><userinput remap="pre">make distclean</userinput></screen>
    98 
    99     <para>Prepare GDBM for compilation:</para>
    100 
    101 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
    102     --host=i686-pc-linux-gnu      \
    103     --prefix=/usr                 \
    104     --libdir=/usr/lib32           \
    105     --disable-static              \
    106     --enable-libgdbm-compat</userinput></screen>
    107 
    108     <para>Compile the package:</para>
    109 
    110 <screen><userinput remap="make">make</userinput></screen>
    111 
    112     <para>Install the package:</para>
    113 
    114 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    115 cp -Rv DESTDIR/usr/lib32/* /usr/lib32/
    116 rm -rf DESTDIR</userinput></screen>
    117 
    118   </sect2><!-- m32 -->
    119 
    120   <!-- - - - - - - - - - -->
    121   <!-- Multilib - x32bit -->
    122   <!-- - - - - - - - - - -->
    123 
    124   <sect2 arch="ml_x32,ml_all" role="installation">
    125     <title>Installation of GDBM - x32bit</title>
    126 
    127     <para>Clean previous build:</para>
    128 
    129 <screen><userinput remap="pre">make distclean</userinput></screen>
    130 
    131     <para>Prepare GDBM for compilation:</para>
    132 
    133 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
    134     --host=x86_64-pc-linux-gnux32 \
    135     --prefix=/usr                 \
    136     --libdir=/usr/libx32          \
    137     --disable-static              \
    138     --enable-libgdbm-compat</userinput></screen>
    139 
    140     <para>Compile the package:</para>
    141 
    142 <screen><userinput remap="make">make</userinput></screen>
    143 
    144     <para>Install the package:</para>
    145 
    146 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    147 cp -Rv DESTDIR/usr/libx32/* /usr/libx32/
    148 rm -rf DESTDIR</userinput></screen>
    149 
    150   </sect2><!-- mx32 -->
    151  
    15288  <sect2 id="contents-gdbm" role="content">
    15389    <title>Contents of GDBM</title>
  • chapter08/glibc.xml

    rb9908a1a re7b6af1  
    607607  </sect2>
    608608
    609   <!-- - - - - - - - - - -->
    610   <!-- Multilib - 32bit  -->
    611   <!-- - - - - - - - - - -->
    612   <sect2 arch="ml_32,ml_all">
    613     <title>Building Glibc - 32bit</title>
    614 
    615     <para>Now recompile for m32. The extracted source can be
    616     reused but needs to be cleaned before installing the m32
    617     version of Glibc.</para>
    618 
    619     <para>Clear the build directory and remove artefacts from
    620     previous build:</para>
    621      
    622 <screen><userinput remap="pre">rm -rf ./*
    623 find .. -name "*.a" -delete</userinput></screen>
    624 
    625     <para>Configure Glibc for m32 with the following commands:</para>
    626 
    627 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
    628 ../configure                             \
    629       --prefix=/usr                      \
    630       --host=i686-pc-linux-gnu           \
    631       --build=$(../scripts/config.guess) \
    632       --enable-kernel=&min-kernel;                \
    633       --disable-nscd                     \
    634       --libdir=/usr/lib32                \
    635       --libexecdir=/usr/lib32            \
    636       libc_cv_slibdir=/usr/lib32</userinput></screen>
    637 
    638     <para>Compile the package:</para>
    639 
    640 <screen><userinput remap="make">make</userinput></screen>
    641 
    642     <para>Install the package:</para>
    643 
    644 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    645 cp -a DESTDIR/usr/lib32/* /usr/lib32/
    646 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
    647                /usr/include/gnu/</userinput></screen>
    648 <!-- no longer required as they are created in chap5
    649 ln -svf ../lib32/ld-linux.so.2 /lib/ld-linux.so.2
    650 -->
    651 
    652     <para>Add the library name to the dynamic loader config:</para>
    653 
    654 <screen role="install"><userinput>echo "/usr/lib32" &gt;&gt; /etc/ld.so.conf</userinput></screen>
    655 
    656     <caution>
    657       <para>At this point, it is imperative to stop and ensure that the basic
    658       functions (compiling and linking) of the new toolchain are working as
    659       expected. To perform a sanity check, run the following commands:</para>
    660 
    661 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    662 gcc -m32 dummy.c
    663 readelf -l a.out | grep '/ld-linux'</userinput></screen>
    664 
    665       <para>If everything is working correctly, there should be no errors,
    666       and the output of the last command will be of the form:</para>
    667 
    668 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
    669 
    670       <para>If the output is not shown as above or there was no output at all,
    671       then something is wrong. Investigate and retrace the steps to find out
    672       where the problem is and correct it. This issue must be resolved before
    673       continuing on.</para>
    674 
    675       <para>Once all is well, clean up the test files:</para>
    676 
    677 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    678 
    679     </caution>
    680 
    681   </sect2><!-- m32 -->
    682 
    683   <!-- - - - - - - - - - -->
    684   <!-- Multilib - x32bit -->
    685   <!-- - - - - - - - - - -->
    686  
    687   <sect2 arch="ml_x32,ml_all">
    688     <title>Building Glibc - x32bit</title>
    689 
    690     <para>Now recompile for mx32. The extracted source can be
    691     reused but needs to be cleaned before installing the mx32
    692     version of Glibc.</para>
    693 
    694     <para>Clear the build directory and remove artefacts from
    695     previous build:</para>
    696      
    697 <screen><userinput remap="pre">rm -rf ./*
    698 find .. -name "*.a" -delete</userinput></screen>
    699 
    700     <para>Configure Glibc for mx32 with the following commands:</para>
    701 
    702 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
    703 ../configure                             \
    704       --prefix=/usr                      \
    705       --host=x86_64-pc-linux-gnux32      \
    706       --build=$(../scripts/config.guess) \
    707       --enable-kernel=&min-kernel;                \
    708       --disable-nscd                     \
    709       --libdir=/usr/libx32               \
    710       --libexecdir=/usr/libx32           \
    711       libc_cv_slibdir=/usr/libx32</userinput></screen>
    712 
    713     <para>Compile the package:</para>
    714 
    715 <screen><userinput remap="make">make</userinput></screen>
    716 
    717     <para>Install the package:</para>
    718 
    719 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    720 cp -a DESTDIR/usr/libx32/* /usr/libx32/
    721 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
    722                /usr/include/gnu/</userinput></screen>
    723 <!-- no longer required as they are created in chap5
    724 ln -svf ../libx32/ld-linux-x32.so.2 /lib/ld-linux-x32.so.2
    725 -->
    726     <para>Add the library name to the dynamic loader config:</para>
    727 
    728 <screen role="install"><userinput>echo "/usr/libx32" &gt;&gt; /etc/ld.so.conf</userinput></screen>
    729 
    730     <caution>
    731       <para>At this point, it is imperative to stop and ensure that the basic
    732       functions (compiling and linking) of the new toolchain are working as
    733       expected. To perform a sanity check, run the following commands:</para>
    734 
    735 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    736 gcc -mx32 dummy.c
    737 readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
    738 
    739       <para>If everything is working correctly, there should be no errors,
    740       and the output of the last command will be of the form:</para>
    741 
    742 <screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
    743 
    744       <para>If the output is not shown as above or there was no output at all,
    745       then something is wrong. Investigate and retrace the steps to find out
    746       where the problem is and correct it. This issue must be resolved before
    747       continuing on.</para>
    748 
    749       <para>Once all is well, clean up the test files:</para>
    750 
    751 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    752 
    753     </caution>
    754 
    755   </sect2><!-- mx32 -->
    756 
    757609  <sect2 id="contents-glibc" role="content">
    758610    <title>Contents of Glibc</title>
  • chapter08/gmp.xml

    rb9908a1a re7b6af1  
    126126  </sect2>
    127127
    128   <!-- - - - - - - - - - -->
    129   <!-- Multilib - 32bit  -->
    130   <!-- - - - - - - - - - -->
    131 
    132   <sect2 arch="ml_32,ml_all" role="installation">
    133     <title>Installation of GMP - 32bit</title>
    134 
    135     <para>Clean previous build:</para>
    136 
    137 <screen><userinput remap="pre">make distclean</userinput></screen>
    138 
    139     <para>Generic libraries can be created by running
    140     the following:</para>
    141 
    142 <screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
    143 cp -v configfsf.sub   config.sub</userinput></screen>
    144 
    145     <para>Prepare GMP for compilation:</para>
    146 
    147 <screen><userinput remap="configure">ABI="32" \
    148 CFLAGS="-m32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=i686" \
    149 CXXFLAGS="$CFLAGS" \
    150 PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
    151 ./configure                      \
    152     --host=i686-pc-linux-gnu     \
    153     --prefix=/usr                \
    154     --disable-static             \
    155     --enable-cxx                 \
    156     --libdir=/usr/lib32          \
    157     --includedir=/usr/include/m32/gmp</userinput></screen>
    158 
    159     <variablelist>
    160       <title>The meaning of the new configure options:</title>
    161 
    162       <varlistentry>
    163         <term><parameter>--includedir=/usr/include/m32/gmp</parameter></term>
    164         <listitem>
    165           <para>Some definitions in gmp.h differs for each arch but
    166           has same name. Therefore, the headers must be separated from
    167           each other.</para>
    168         </listitem>
    169       </varlistentry>
    170 
    171     </variablelist>
    172 
    173     <para>Compile the package:</para>
    174 
    175 <screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
    176 make</userinput></screen>
    177 
    178     <important>
    179       <para>The test suite for GMP in this section is considered critical.
    180       Do not skip it under any circumstances.</para>
    181     </important>
    182 
    183     <para>Test the results:</para>
    184 
    185 <screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
    186  
    187     <para>Ensure that all 197 tests in the test suite passed.
    188     Check the results by issuing the following command:</para>
    189 
    190 <screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
    191 
    192     <para>Install the package:</para>
    193 
    194 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    195 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    196 cp -Rv DESTDIR/usr/include/m32/* /usr/include/m32/
    197 rm -rf DESTDIR</userinput></screen>
    198 
    199   </sect2><!-- m32 -->
    200 
    201   <!-- - - - - - - - - - -->
    202   <!-- Multilib - x32bit -->
    203   <!-- - - - - - - - - - -->
    204 
    205   <sect2 arch="ml_x32,ml_all" role="installation">
    206     <title>Installation of GMP - x32-bit</title>
    207 
    208     <para>Clean previous build:</para>
    209 
    210 <screen><userinput remap="pre">make distclean</userinput></screen>
    211 
    212     <para>Generic libraries can be created by running
    213     the following:</para>
    214 
    215 <screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
    216 cp -v configfsf.sub   config.sub</userinput></screen>
    217 
    218     <para>Prepare GMP for compilation:</para>
    219 
    220 <screen><userinput remap="configure">ABI="x32" \
    221 CFLAGS="-mx32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=x86-64" \
    222 CXXFLAGS="$CFLAGS" \
    223 PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
    224 ./configure                       \
    225     --host=x86_64-pc-linux-gnux32 \
    226     --prefix=/usr                 \
    227     --disable-static              \
    228     --enable-cxx                  \
    229     --libdir=/usr/libx32          \
    230     --includedir=/usr/include/mx32/gmp</userinput></screen>
    231 
    232     <para>Compile the package:</para>
    233 
    234 <screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
    235 make</userinput></screen>
    236 
    237     <important>
    238       <para>The test suite for GMP in this section is considered critical.
    239       Do not skip it under any circumstances.</para>
    240     </important>
    241 
    242     <para>Test the results:</para>
    243 
    244 <screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
    245  
    246     <para>Ensure that all 197 tests in the test suite passed.
    247     Check the results by issuing the following command:</para>
    248 
    249 <screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
    250 
    251     <para>Install the package:</para>
    252 
    253 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    254 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    255 cp -Rv DESTDIR/usr/include/mx32/* /usr/include/mx32/
    256 rm -rf DESTDIR</userinput></screen>
    257 
    258   </sect2><!-- mx32 -->
    259 
    260128  <sect2 id="contents-gmp" role="content">
    261129    <title>Contents of GMP</title>
  • chapter08/kmod.xml

    rb9908a1a re7b6af1  
    100100
    101101  </sect2>
    102 
    103   <!-- - - - - - - - - - -->
    104   <!-- Multilib - 32bit  -->
    105   <!-- - - - - - - - - - -->
    106  
    107   <sect2 arch="ml_32,ml_all" role="installation">
    108     <title>Installation of Kmod - 32bit</title>
    109 
    110     <para>Clean previous build but keep man pages as they cannot
    111     be recreated since xsltproc isn't installed yet:</para>
    112 
    113 <screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
    114 make clean</userinput></screen>
    115 
    116     <para>Prepare Kmod for compilation:</para>
    117 
    118 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    119     --host=i686-pc-linux-gnu      \
    120     --prefix=/usr                 \
    121     --libdir=/usr/lib32           \
    122     --sysconfdir=/etc             \
    123     --with-openssl                \
    124     --with-xz                     \
    125     --with-zstd                   \
    126     --with-zlib                   \
    127     --with-rootlibdir=/usr/lib32</userinput></screen>
    128 
    129     <para>Compile the package:</para>
    130 
    131 <screen><userinput remap="make">make</userinput></screen>
    132 
    133     <para>Install the package:</para>
    134 
    135 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    136 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    137 rm -rf DESTDIR</userinput></screen>
    138 
    139   </sect2><!-- m32 -->
    140 
    141   <!-- - - - - - - - - - -->
    142   <!-- Multilib - x32bit -->
    143   <!-- - - - - - - - - - -->
    144  
    145   <sect2 arch="ml_x32,ml_all" role="installation">
    146     <title>Installation of Kmod - x32bit</title>
    147 
    148     <para>Clean previous build but keep man pages as they cannot
    149     be recreated since xsltproc isn't installed yet:</para>
    150 
    151 <screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
    152 make clean</userinput></screen>
    153 
    154     <para>Prepare Kmod for compilation:</para>
    155 
    156 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    157     --host=x86_64-pc-linux-gnux32 \
    158     --prefix=/usr                 \
    159     --libdir=/usr/libx32          \
    160     --sysconfdir=/etc             \
    161     --with-openssl                \
    162     --with-xz                     \
    163     --with-zstd                   \
    164     --with-zlib                   \
    165     --with-rootlibdir=/usr/libx32</userinput></screen>
    166 
    167     <para>Compile the package:</para>
    168 
    169 <screen><userinput remap="make">make</userinput></screen>
    170 
    171     <para>Install the package:</para>
    172 
    173 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    174 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    175 rm -rf DESTDIR</userinput></screen>
    176 
    177   </sect2><!-- mx32 -->
    178102
    179103  <sect2 id="contents-kmod" role="content">
  • chapter08/libcap.xml

    rb9908a1a re7b6af1  
    7575
    7676  </sect2>
    77 
    78   <!-- - - - - - - - - - -->
    79   <!-- Multilib - 32bit  -->
    80   <!-- - - - - - - - - - -->
    81  
    82   <sect2 arch="ml_32,ml_all" role="installation">
    83     <title>Installation of Libcap - 32bit</title>
    84 
    85     <para>Clean previous build:</para>
    86 
    87 <screen><userinput remap="pre">make distclean</userinput></screen>
    88 
    89     <para>Compile the package:</para>
    90 
    91 <screen><userinput remap="make">make CC="gcc -m32 -march=i686"</userinput></screen>
    92 
    93     <para>Install the package:</para>
    94 
    95 <screen><userinput remap="install">make CC="gcc -m32 -march=i686" lib=lib32 prefix=$PWD/DESTDIR/usr -C libcap install
    96 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    97 sed -e "s|^libdir=.*|libdir=/usr/lib32|" -i /usr/lib32/pkgconfig/lib{cap,psx}.pc
    98 chmod -v 755 /usr/lib32/libcap.so.&libcap-version;
    99 rm -rf DESTDIR</userinput></screen>
    100 
    101   </sect2><!-- m32 -->
    102 
    103   <!-- - - - - - - - - - -->
    104   <!-- Multilib - x32bit -->
    105   <!-- - - - - - - - - - -->
    106  
    107   <sect2 arch="ml_x32,ml_all" role="installation">
    108     <title>Installation of Libcap - x32bit</title>
    109 
    110     <para>Clean previous build:</para>
    111 
    112 <screen><userinput remap="pre">make distclean</userinput></screen>
    113 
    114     <para>Compile the package:</para>
    115 
    116 <screen><userinput remap="make">make CC="gcc -mx32 -march=x86-64"</userinput></screen>
    117 
    118     <para>Install the package:</para>
    119 
    120 <screen><userinput remap="install">make CC="gcc -mx32 -march=x86-64" lib=libx32 prefix=$PWD/DESTDIR/usr -C libcap install
    121 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    122 sed -e "s|^libdir=.*|libdir=/usr/libx32|" -i /usr/libx32/pkgconfig/lib{cap,psx}.pc
    123 chmod -v 755 /usr/libx32/libcap.so.&libcap-version;
    124 rm -rf DESTDIR</userinput></screen>
    125 
    126   </sect2><!-- mx32 -->
    12777
    12878  <sect2 id="contents-libcap" role="content">
  • chapter08/libelf.xml

    rb9908a1a re7b6af1  
    6767  </sect2>
    6868
    69   <!-- - - - - - - - - - -->
    70   <!-- Multilib - 32bit  -->
    71   <!-- - - - - - - - - - -->
    72  
    73   <sect2 arch="ml_32,ml_all" role="installation">
    74     <title>Installation of Libelf - 32bit</title>
    75 
    76     <para>Clean previous build:</para>
    77 
    78 <screen><userinput remap="pre">make distclean</userinput></screen>
    79 
    80     <para>Prepare Libelf for compilation:</para>
    81 
    82 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
    83     --host=i686-pc-linux-gnu \
    84     --prefix=/usr            \
    85     --libdir=/usr/lib32      \
    86     --disable-debuginfod     \
    87     --enable-libdebuginfod=dummy</userinput></screen>
    88 
    89     <para>Compile the package:</para>
    90 
    91 <screen><userinput remap="make">make</userinput></screen>
    92 
    93     <para>Install the package:</para>
    94 
    95 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
    96 install -vDm644 config/libelf.pc DESTDIR/usr/lib32/pkgconfig/libelf.pc
    97 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    98 rm -rf DESTDIR</userinput></screen>
    99 
    100   </sect2><!-- m32 -->
    101 
    102   <!-- - - - - - - - - - -->
    103   <!-- Multilib - x32bit -->
    104   <!-- - - - - - - - - - -->
    105  
    106   <sect2 arch="ml_x32,ml_all" role="installation">
    107     <title>Installation of Libelf - x32bit</title>
    108 
    109     <para>Clean previous build:</para>
    110 
    111 <screen><userinput remap="pre">make distclean</userinput></screen>
    112 
    113     <para>Prepare Libelf for compilation:</para>
    114 
    115 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
    116     --host=x86_64-pc-linux-gnux32 \
    117     --prefix=/usr                 \
    118     --libdir=/usr/libx32          \
    119     --disable-debuginfod          \
    120     --enable-libdebuginfod=dummy</userinput></screen>
    121 
    122     <para>Compile the package:</para>
    123 
    124 <screen><userinput remap="make">make</userinput></screen>
    125 
    126     <para>Install the package:</para>
    127 
    128 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
    129 install -vDm644 config/libelf.pc DESTDIR/usr/libx32/pkgconfig/libelf.pc
    130 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    131 rm -rf DESTDIR</userinput></screen>
    132 
    133   </sect2><!-- mx32 -->
    134 
    13569  <sect2 id="contents-elfutils" role="content">
    13670    <title>Contents of Libelf</title>
  • chapter08/libffi.xml

    rb9908a1a re7b6af1  
    9797  </sect2>
    9898
    99   <!-- - - - - - - - - - -->
    100   <!-- Multilib - 32bit  -->
    101   <!-- - - - - - - - - - -->
    102  
    103   <sect2 arch="ml_32,ml_all" role="installation">
    104     <title>Installation of Libffi - 32bit</title>
    105 
    106     <para>Clean previous build:</para>
    107 
    108 <screen><userinput remap="pre">make distclean</userinput></screen>
    109 
    110     <para>Prepare Libffi for compilation:</para>
    111 
    112 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \
    113     --host=i686-pc-linux-gnu \
    114     --prefix=/usr            \
    115     --libdir=/usr/lib32      \
    116     --disable-static         \
    117     --with-gcc-arch=i686</userinput></screen>
    118 
    119     <para>Compile the package:</para>
    120 
    121 <screen><userinput remap="make">make</userinput></screen>
    122 
    123     <para>To test the results, issue:</para>
    124 
    125 <screen><userinput remap="test">make check</userinput></screen>
    126 
    127     <para>Install the package:</para>
    128 
    129 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    130 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    131 rm -rf DESTDIR</userinput></screen>
    132 
    133   </sect2><!-- m32 -->
    134 
    135   <!-- - - - - - - - - - -->
    136   <!-- Multilib - x32bit -->
    137   <!-- - - - - - - - - - -->
    138  
    139   <sect2 arch="ml_x32,ml_all" role="installation">
    140     <title>Installation of Libffi - x32bit</title>
    141 
    142     <para>Clean previous build:</para>
    143 
    144 <screen><userinput remap="pre">make distclean</userinput></screen>
    145 
    146     <para>Prepare Libffi for compilation:</para>
    147 
    148 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \
    149     --host=x86_64-unknown-linux-gnux32 \
    150     --prefix=/usr            \
    151     --libdir=/usr/libx32     \
    152     --disable-static         \
    153     --with-gcc-arch=x86_64</userinput></screen>
    154 
    155     <para>Compile the package:</para>
    156 
    157 <screen><userinput remap="make">make</userinput></screen>
    158 
    159     <para>To test the results, issue:</para>
    160 
    161 <screen><userinput remap="test">make check</userinput></screen>
    162 
    163     <para>Install the package:</para>
    164 
    165 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    166 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    167 rm -rf DESTDIR</userinput></screen>
    168 
    169   </sect2><!-- mx32 -->
    170 
    17199  <sect2 id="contents-libffi" role="content">
    172100    <title>Contents of Libffi</title>
     
    199127
    200128</sect1>
     129
  • chapter08/libtool.xml

    rb9908a1a re7b6af1  
    7474  </sect2>
    7575
    76   <!-- - - - - - - - - - -->
    77   <!-- Multilib - 32bit  -->
    78   <!-- - - - - - - - - - -->
    79  
    80   <sect2 arch="ml_32,ml_all" role="installation">
    81     <title>Installation of Libtool - 32bit</title>
    82 
    83     <para>Clean previous build:</para>
    84 
    85 <screen><userinput remap="pre">make distclean</userinput></screen>
    86 
    87     <para>Prepare Libtool for compilation:</para>
    88 
    89 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    90     --host=i686-pc-linux-gnu \
    91     --prefix=/usr            \
    92     --libdir=/usr/lib32</userinput></screen>
    93 
    94     <para>Compile the package:</para>
    95 
    96 <screen><userinput remap="make">make</userinput></screen>
    97 
    98     <para>Install the package:</para>
    99 
    100 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    101 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    102 rm -rf DESTDIR</userinput></screen>
    103 
    104   </sect2><!-- m32 -->
    105 
    106   <!-- - - - - - - - - - -->
    107   <!-- Multilib - x32bit -->
    108   <!-- - - - - - - - - - -->
    109  
    110   <sect2 arch="ml_x32,ml_all" role="installation">
    111     <title>Installation of Libtool - x32bit</title>
    112 
    113     <para>Clean previous build:</para>
    114 
    115 <screen><userinput remap="pre">make distclean</userinput></screen>
    116 
    117     <para>Prepare Libtool for compilation:</para>
    118 
    119 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    120     --host=x86_64-pc-linux-gnux32 \
    121     --prefix=/usr                 \
    122     --libdir=/usr/libx32</userinput></screen>
    123 
    124     <para>Compile the package:</para>
    125 
    126 <screen><userinput remap="make">make</userinput></screen>
    127 
    128     <para>Install the package:</para>
    129 
    130 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    131 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    132 rm -rf DESTDIR</userinput></screen>
    133 
    134   </sect2><!-- mx32 -->
    13576
    13677  <sect2 id="contents-libtool" role="content">
  • chapter08/libxcrypt.xml

    rb9908a1a re7b6af1  
    116116  </sect2>
    117117
    118   <!-- - - - - - - - - - -->
    119   <!-- Multilib - 32bit  -->
    120   <!-- - - - - - - - - - -->
    121   <sect2 arch="ml_32,ml_all" role="installation">
    122     <title>Installation of Libxcrypt - 32bit</title>
    123 
    124     <para>Clean previous build:</para>
    125 
    126 <screen><userinput remap="pre">make distclean</userinput></screen>
    127 
    128     <para>Prepare Libxcrypt for compilation:</para>
    129 
    130 <screen><userinput remap="configure">CC="gcc -m32" \
    131 ./configure --prefix=/usr                \
    132             --host=i686-pc-linux-gnu     \
    133             --libdir=/usr/lib32          \
    134             --enable-hashes=strong,glibc \
    135             --enable-obsolete-api=glibc  \
    136             --disable-static             \
    137             --disable-failure-tokens</userinput></screen>
    138 
    139     <para>Compile the package:</para>
    140 
    141 <screen><userinput remap="make">make</userinput></screen>
    142 
    143     <para>Install the package:</para>
    144 
    145 <screen><userinput remap="install">cp -av .libs/libcrypt.so* /usr/lib32/ &amp;&amp;
    146 make install-pkgconfigDATA &amp;&amp;
    147 ln -svf libxcrypt.pc /usr/lib32/pkgconfig/libcrypt.pc</userinput></screen>
    148 
    149   </sect2><!-- m32 -->
    150 
    151   <!-- - - - - - - - - - -->
    152   <!-- Multilib - x32bit  -->
    153   <!-- - - - - - - - - - -->
    154   <sect2 arch="ml_x32,ml_all" role="installation">
    155     <title>Installation of Libxcrypt - x32bit</title>
    156 
    157     <para>Clean previous build:</para>
    158 
    159 <screen><userinput remap="pre">make distclean</userinput></screen>
    160 
    161     <para>Prepare Libxcrypt for compilation:</para>
    162 
    163 <screen><userinput remap="configure">CC="gcc -mx32" \
    164 ./configure --prefix=/usr                 \
    165             --host=x86_64-pc-linux-gnux32 \
    166             --libdir=/usr/libx32          \
    167             --enable-hashes=strong,glibc  \
    168             --enable-obsolete-api=glibc   \
    169             --disable-static              \
    170             --disable-failure-tokens</userinput></screen>
    171 
    172     <para>Compile the package:</para>
    173 
    174 <screen><userinput remap="make">make</userinput></screen>
    175 
    176     <para>Install the package:</para>
    177 
    178 <screen><userinput remap="install">cp -av .libs/libcrypt.so* /usr/libx32/ &amp;&amp;
    179 make install-pkgconfigDATA &amp;&amp;
    180 ln -svf libxcrypt.pc /usr/libx32/pkgconfig/libcrypt.pc</userinput></screen>
    181 
    182   </sect2><!-- mx32 -->
    183 
    184118  <sect2 id="contents-libxcrypt" role="content">
    185119    <title>Contents of Libxcrypt</title>
  • chapter08/lz4.xml

    rb9908a1a re7b6af1  
    6060
    6161  </sect2>
    62 
    63   <!-- - - - - - - - - - -->
    64   <!-- Multilib - 32bit  -->
    65   <!-- - - - - - - - - - -->
    66   <sect2 arch="ml_32,ml_all" role="installation">
    67     <title>Installation of Lz4 - 32bit</title>
    68 
    69     <para>Clean previous build:</para>
    70 
    71 <screen><userinput remap="pre">make clean</userinput></screen>
    72 
    73     <para>Compile the package:</para>
    74 
    75 <screen><userinput remap="make">CC="gcc -m32" make BUILD_STATIC=no</userinput></screen>
    76 
    77     <para>Install the package:</para>
    78 
    79 <screen><userinput remap="install">make BUILD_STATIC=no PREFIX=/usr LIBDIR=/usr/lib32 DESTDIR=$(pwd)/m32 install &amp;&amp;
    80 cp -a m32/usr/lib32/* /usr/lib32/
    81 </userinput></screen>
    82 
    83   </sect2><!-- m32 -->
    84 
    85   <!-- - - - - - - - - - -->
    86   <!-- Multilib - x32bit -->
    87   <!-- - - - - - - - - - -->
    88   <sect2 arch="ml_x32,ml_all" role="installation">
    89     <title>Installation of Lz4 - x32bit</title>
    90 
    91     <para>Clean previous build:</para>
    92 
    93 <screen><userinput remap="pre">make clean</userinput></screen>
    94 
    95     <para>Compile the package:</para>
    96 
    97 <screen><userinput remap="make">CC="gcc -mx32" make BUILD_STATIC=no</userinput></screen>
    98 
    99     <para>Install the package:</para>
    100 
    101 <screen><userinput remap="install">make BUILD_STATIC=no PREFIX=/usr LIBDIR=/usr/libx32 DESTDIR=$(pwd)/mx32 install &amp;&amp;
    102 cp -a mx32/usr/libx32/* /usr/libx32/
    103 </userinput></screen>
    104 
    105   </sect2><!-- mx32 -->
    10662
    10763  <sect2 id="contents-lz4" role="content">
  • chapter08/ncurses.xml

    rb9908a1a re7b6af1  
    177177
    178178<screen role="nodump"><userinput>make distclean
    179 ./configure --prefix=/usr     \
    180             --with-shared     \
    181             --without-normal  \
    182             --with-cxx-shared \
    183             --without-debug   \
     179./configure --prefix=/usr    \
     180            --with-shared    \
     181            --without-normal \
     182            --without-debug  \
    184183            --without-cxx-binding \
    185184            --with-abi-version=5
     
    189188
    190189  </sect2>
    191 
    192   <!-- - - - - - - - - - -->
    193   <!-- Multilib - 32bit  -->
    194   <!-- - - - - - - - - - -->
    195   <sect2 arch="ml_32,ml_all">
    196     <title>Building Ncurses - 32bit</title>
    197 
    198     <para>Clean previous build:</para>
    199 
    200 <screen><userinput remap="pre">make distclean</userinput></screen>
    201 
    202     <para>Prepare Ncurses for compilation:</para>
    203 
    204 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
    205 ./configure --prefix=/usr           \
    206             --host=i686-pc-linux-gnu \
    207             --libdir=/usr/lib32     \
    208             --mandir=/usr/share/man \
    209             --with-shared           \
    210             --without-debug         \
    211             --without-normal        \
    212             --with-cxx-shared       \
    213             --enable-pc-files       \
    214             --with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>
    215 
    216     <para>Compile the package:</para>
    217 
    218 <screen><userinput remap="make">make</userinput></screen>
    219 
    220     <para>Install the package:</para>
    221 
    222 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    223 mkdir -p DESTDIR/usr/lib32/pkgconfig
    224 for lib in ncurses form panel menu ; do
    225     rm -vf                    DESTDIR/usr/lib32/lib${lib}.so
    226     echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so
    227     ln -svf ${lib}w.pc        DESTDIR/usr/lib32/pkgconfig/$lib.pc
    228 done
    229 rm -vf                     DESTDIR/usr/lib32/libcursesw.so
    230 echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so
    231 ln -sfv libncurses.so      DESTDIR/usr/lib32/libcurses.so
    232 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    233 rm -rf DESTDIR</userinput></screen>
    234 
    235   </sect2><!-- m32 -->
    236 
    237   <!-- - - - - - - - - - -->
    238   <!-- Multilib - x32bit -->
    239   <!-- - - - - - - - - - -->
    240   <sect2 arch="ml_x32,ml_all">
    241     <title>Building Ncurses - x32bit</title>
    242 
    243     <para>Clean previous build:</para>
    244 
    245 <screen><userinput remap="pre">make distclean</userinput></screen>
    246 
    247     <para>Prepare Ncurses for compilation:</para>
    248 
    249 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
    250 ./configure --prefix=/usr           \
    251             --host=x86_64-pc-linux-gnux32 \
    252             --libdir=/usr/libx32    \
    253             --mandir=/usr/share/man \
    254             --with-shared           \
    255             --without-debug         \
    256             --without-normal        \
    257             --enable-pc-files       \
    258             --with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>
    259 
    260     <para>Compile the package:</para>
    261 
    262 <screen><userinput remap="make">make</userinput></screen>
    263 
    264     <para>Install the package:</para>
    265 
    266 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    267 mkdir -p DESTDIR/usr/libx32/pkgconfig
    268 for lib in ncurses form panel menu ; do
    269     rm -vf                    DESTDIR/usr/libx32/lib${lib}.so
    270     echo "INPUT(-l${lib}w)" > DESTDIR/usr/libx32/lib${lib}.so
    271     ln -svf ${lib}w.pc        DESTDIR/usr/libx32/pkgconfig/$lib.pc
    272 done
    273 rm -vf                     DESTDIR/usr/libx32/libcursesw.so
    274 echo "INPUT(-lncursesw)" > DESTDIR/usr/libx32/libcursesw.so
    275 ln -sfv libncurses.so      DESTDIR/usr/libx32/libcurses.so
    276 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    277 rm -rf DESTDIR</userinput></screen>
    278 
    279   </sect2><!-- mx32 -->
    280190
    281191  <sect2 id="contents-ncurses" role="content">
  • chapter08/openssl.xml

    rb9908a1a re7b6af1  
    111111
    112112  </sect2>
    113 
    114   <!-- - - - - - - - - - -->
    115   <!-- Multilib - 32bit  -->
    116   <!-- - - - - - - - - - -->
    117  
    118   <sect2 arch="ml_32,ml_all" role="installation">
    119     <title>Installation of OpenSSL - 32bit</title>
    120 
    121     <para>Clean previous build:</para>
    122 
    123 <screen><userinput remap="pre">make distclean</userinput></screen>
    124 
    125     <para>Prepare OpenSSL for compilation:</para>
    126 
    127 <screen><userinput remap="configure">./config --prefix=/usr         \
    128          --openssldir=/etc/ssl \
    129          --libdir=lib32        \
    130          shared                \
    131          zlib-dynamic          \
    132          linux-x86</userinput></screen>
    133 
    134     <para>Compile the package:</para>
    135 
    136 <screen><userinput remap="make">make</userinput></screen>
    137 
    138     <para>Install the package:</para>
    139 
    140 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    141 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    142 rm -rf DESTDIR</userinput></screen>
    143 
    144   </sect2><!-- m32 -->
    145 
    146   <!-- - - - - - - - - - -->
    147   <!-- Multilib - x32bit -->
    148   <!-- - - - - - - - - - -->
    149  
    150   <sect2 arch="ml_x32,ml_all" role="installation">
    151     <title>Installation of OpenSSL - x32bit</title>
    152 
    153     <para>Clean previous build:</para>
    154 
    155 <screen><userinput remap="pre">make distclean</userinput></screen>
    156 
    157     <para>Prepare OpenSSL for compilation:</para>
    158 
    159 <screen><userinput remap="configure">./config --prefix=/usr         \
    160          --openssldir=/etc/ssl \
    161          --libdir=libx32       \
    162          shared                \
    163          zlib-dynamic          \
    164          linux-x32</userinput></screen>
    165 
    166     <para>Compile the package:</para>
    167 
    168 <screen><userinput remap="make">make</userinput></screen>
    169 
    170     <para>Install the package:</para>
    171 
    172 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    173 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    174 rm -rf DESTDIR</userinput></screen>
    175 
    176   </sect2><!-- mx32 -->
    177113
    178114  <sect2 id="contents-openssl" role="content">
  • chapter08/pkgconf.xml

    rb9908a1a re7b6af1  
    6464<screen><userinput remap="install">ln -sv pkgconf   /usr/bin/pkg-config
    6565ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1</userinput></screen>
    66 <!--
    67     <para arch="ml_32,ml_x32,ml_all">
    68       For better support of the multilib platform create some
    69       additional files by executing the following commands:
    70     </para>
    7166
    72 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="install">ln -sv pkgconf /usr/bin/i686-pc-linux-gnu-pkg-config
    73 ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnux32-pkg-config
    74 ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnu-pkg-config
    75 
    76 mkdir -pv /usr/share/pkgconfig/personality.d
    77 
    78 cat &gt; /usr/share/pkgconfig/personality.d/i686-pc-linux-gnu.personality &lt;&lt;EOF
    79 Triplet: i686-pc-linux-gnu
    80 SysrootDir: /
    81 DefaultSearchPaths: /usr/lib32/pkgconfig:/usr/share/pkgconfig
    82 SystemIncludePaths: /usr/include
    83 SystemLibraryPaths: /usr/lib32
    84 EOF
    85 
    86 cat &gt; /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnux32.personality &lt;&lt;EOF
    87 Triplet: x86_64-pc-linux-gnux32
    88 SysrootDir: /
    89 DefaultSearchPaths: /usr/libx32/pkgconfig:/usr/share/pkgconfig
    90 SystemIncludePaths: /usr/include
    91 SystemLibraryPaths: /usr/libx32
    92 EOF
    93 
    94 cat &gt; /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnu.personality &lt;&lt;EOF
    95 Triplet: x86_64-pc-linux-gnu
    96 SysrootDir: /
    97 DefaultSearchPaths: /usr/lib/pkgconfig:/usr/share/pkgconfig
    98 SystemIncludePaths: /usr/include
    99 SystemLibraryPaths: /usr/lib
    100 EOF
    101 </userinput></screen>
    102 -->
    10367  </sect2>
    10468
  • chapter08/readline.xml

    rb9908a1a re7b6af1  
    112112  </sect2>
    113113
    114   <!-- - - - - - - - - - -->
    115   <!-- Multilib - 32bit  -->
    116   <!-- - - - - - - - - - -->
    117  
    118   <sect2 arch="ml_32,ml_all" role="installation">
    119     <title>Installation of Readline - 32bit</title>
    120 
    121     <para>Clean previous build:</para>
    122 
    123 <screen><userinput remap="pre">make distclean</userinput></screen>
    124 
    125     <para>Prepare Readline for compilation:</para>
    126 
    127 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    128     --host=i686-pc-linux-gnu      \
    129     --prefix=/usr                 \
    130     --libdir=/usr/lib32           \
    131     --disable-static              \
    132     --with-curses</userinput></screen>
    133 
    134     <para>Compile the package:</para>
    135 
    136 <screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
    137 
    138     <para>Install the package:</para>
    139 
    140 <screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install
    141 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    142 rm -rf DESTDIR</userinput></screen>
    143 
    144   </sect2><!-- m32 -->
    145 
    146   <!-- - - - - - - - - - -->
    147   <!-- Multilib - x32bit -->
    148   <!-- - - - - - - - - - -->
    149  
    150   <sect2 arch="ml_x32,ml_all" role="installation">
    151     <title>Installation of Readline - x32bit</title>
    152 
    153     <para>Clean previous build:</para>
    154 
    155 <screen><userinput remap="pre">make distclean</userinput></screen>
    156 
    157     <para>Prepare Readline for compilation:</para>
    158 
    159 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    160     --host=x86_64-pc-linux-gnux32 \
    161     --prefix=/usr                 \
    162     --libdir=/usr/libx32          \
    163     --disable-static              \
    164     --with-curses</userinput></screen>
    165 
    166     <para>Compile the package:</para>
    167 
    168 <screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
    169 
    170     <para>Install the package:</para>
    171 
    172 <screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install
    173 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    174 rm -rf DESTDIR</userinput></screen>
    175 
    176   </sect2><!-- mx32 -->
    177 
    178114  <sect2 id="contents-readline" role="content">
    179115    <title>Contents of Readline</title>
  • chapter08/stripping.xml

    rb9908a1a re7b6af1  
    8080
    8181cd /usr/lib
     82
    8283for LIB in $save_usrlib; do
    8384    objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg
     
    8788    install -vm755 /tmp/$LIB /usr/lib
    8889    rm /tmp/$LIB
    89 done</userinput>
    90 <userinput arch="ml_32,ml_all">
    91 cd /usr/lib32
    92 for LIB in $save_usrlib; do
    93     objcopy --only-keep-debug $LIB $LIB.dbg
    94     cp $LIB /tmp/$LIB
    95     strip --strip-unneeded /tmp/$LIB
    96     objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
    97     install -vm755 /tmp/$LIB /usr/lib32
    98     rm /tmp/$LIB
    99 done</userinput>
    100 <userinput arch="ml_x32,ml_all">
    101 cd /usr/libx32
    102 for LIB in $save_usrlib; do
    103     objcopy --only-keep-debug $LIB $LIB.dbg
    104     cp $LIB /tmp/$LIB
    105     strip --strip-unneeded /tmp/$LIB
    106     objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
    107     install -vm755 /tmp/$LIB /usr/libx32
    108     rm /tmp/$LIB
    109 done</userinput><userinput>
     90done
    11091
    11192online_usrbin="bash find strip"
     
    132113    install -vm755 /tmp/$LIB /usr/lib
    133114    rm /tmp/$LIB
    134 done</userinput><userinput arch="ml_32,ml_all">
    135 for LIB in $online_usrlib; do
    136     cp /usr/lib32/$LIB /tmp/$LIB
    137     strip --strip-unneeded /tmp/$LIB
    138     install -vm755 /tmp/$LIB /usr/lib32
    139     rm /tmp/$LIB
    140 done</userinput><userinput arch="ml_x32,ml_all">
    141 for LIB in $online_usrlib; do
    142     cp /usr/libx32/$LIB /tmp/$LIB
    143     strip --strip-unneeded /tmp/$LIB
    144     install -vm755 /tmp/$LIB /usr/libx32
    145     rm /tmp/$LIB
    146 done</userinput><userinput>
     115done
    147116
    148117for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
     
    155124            ;;
    156125    esac
    157 done</userinput><userinput arch="ml_32,ml_all">
    158 for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg) \
    159          $(find /usr/lib32 -type f -name \*.a); do
    160     case "$online_usrbin $online_usrlib $save_usrlib" in
    161         *$(basename $i)* )
    162             ;;
    163         * ) strip --strip-unneeded $i
    164             ;;
    165     esac
    166 done</userinput><userinput arch="ml_x32,ml_all">
    167 for i in $(find /usr/libx32 -type f -name \*.so* ! -name \*dbg) \
    168          $(find /usr/libx32 -type f -name \*.a); do
    169     case "$online_usrbin $online_usrlib $save_usrlib" in
    170         *$(basename $i)* )
    171             ;;
    172         * ) strip --strip-unneeded $i
    173             ;;
    174     esac
    175 done</userinput><userinput>
     126done
    176127
    177128unset BIN LIB save_usrlib online_usrbin online_usrlib
  • chapter08/systemd.xml

    rb9908a1a re7b6af1  
    263263
    264264  </sect2>
    265 
    266   <!-- - - - - - - - - - -->
    267   <!-- Multilib - 32bit  -->
    268   <!-- - - - - - - - - - -->
    269  
    270   <sect2 arch="ml_32,ml_all" role="installation">
    271     <title>Installation of systemd - 32-bit</title>
    272 
    273     <para>Clean previous build:</para>
    274 
    275 <screen><userinput remap="pre">rm -rf *</userinput></screen>
    276 
    277     <para>Create a symlink to work around missing xsltproc:</para>
    278 
    279 <!-- screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen -->
    280 <screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
    281 
    282 <!-- with cross-LFS we have util-linux in place:
    283     <para>Because we have not yet installed the final version of Util-Linux,
    284     create links to the libraries in the approprite location:</para>
    285 
    286 <screen><userinput remap="pre">for file in /tools/lib32/lib{blkid,mount,uuid}*; do
    287     ln -sf $file /usr/lib32/
    288 done</userinput></screen>
    289 -->
    290 
    291     <para>Prepare systemd for compilation:</para>
    292 
    293     <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
    294 CC="gcc -m32 -march=i686"              \
    295 CXX="g++ -m32 -march=i686"             \
    296 LANG=en_US.UTF-8                       \
    297 meson --prefix=/usr                    \
    298       --sysconfdir=/etc                \
    299       --localstatedir=/var             \
    300       --libdir=/usr/lib32              \
    301       -Drootlibdir=/usr/lib32          \
    302       -Dblkid=true                  \
    303       -Ddefault-dnssec=no           \
    304       -Dfirstboot=false             \
    305       -Dinstall-tests=false         \
    306       -Dldconfig=false              \
    307       -Dsysusers=false              \
    308       -Db_lto=false                 \
    309       -Drpmmacrosdir=no             \
    310       -Dhomed=false                 \
    311       -Duserdb=false                \
    312       -Dman=false                   \
    313       -Dmode=release                \
    314       ..</userinput></screen>
    315 
    316     <para>Compile the package:</para>
    317 
    318 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
    319 
    320     <para>Install the package:</para>
    321 
    322 <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
    323 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    324 rm -rf DESTDIR
    325 rm -f /usr/bin/xsltproc</userinput></screen>
    326 
    327   </sect2><!-- m32 -->
    328 
    329   <!-- - - - - - - - - - -->
    330   <!-- Multilib - x32bit -->
    331   <!-- - - - - - - - - - -->
    332  
    333   <sect2 arch="ml_x32,ml_all" role="installation">
    334     <title>Installation of systemd - x32-bit</title>
    335 
    336     <para>Clean previous build:</para>
    337 
    338 <screen><userinput remap="pre">rm -rf *</userinput></screen>
    339 
    340     <para>Create a symlink to work around missing xsltproc:</para>
    341 
    342 <screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
    343 <!--
    344     <para>Fix an issue on x32:</para>
    345 
    346 <screen><userinput remap="pre">sed '/log_debug/s@PRI_TIMEX@PRIi64@' -i src/timesync/timesyncd-manager.c
    347 sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</userinput></screen>
    348 -->
    349     <para>Prepare systemd for compilation:</para>
    350 
    351 <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
    352 CC="gcc -mx32"                          \
    353 CXX="g++ -mx32"                         \
    354 CFLAGS+=" -Wno-error=shift-overflow"    \
    355 CXXFLAGS+=" -Wno-error=shift-overflow"  \
    356 LANG=en_US.UTF-8                        \
    357 meson --prefix=/usr                     \
    358       --sysconfdir=/etc                 \
    359       --localstatedir=/var              \
    360       --libdir=/usr/libx32              \
    361       -Drootlibdir=/usr/libx32          \
    362       -Dblkid=true                  \
    363       -Ddefault-dnssec=no           \
    364       -Dfirstboot=false             \
    365       -Dinstall-tests=false         \
    366       -Dldconfig=false              \
    367       -Dsysusers=false              \
    368       -Db_lto=false                 \
    369       -Drpmmacrosdir=no             \
    370       -Dhomed=false                 \
    371       -Duserdb=false                \
    372       -Dman=false                   \
    373       -Dmode=release                \
    374       ..</userinput></screen>
    375 
    376     <para>Compile the package:</para>
    377 
    378 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
    379 
    380     <para>Install the package:</para>
    381 
    382 <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
    383 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    384 rm -rf DESTDIR
    385 rm -f /usr/bin/xsltproc</userinput></screen>
    386 
    387   </sect2><!-- mx32 -->
    388265
    389266  <sect2 id="contents-systemd" role="content">
  • chapter08/udev.xml

    rb9908a1a re7b6af1  
    195195  </sect2>
    196196
    197   <!-- - - - - - - - - - -->
    198   <!-- Multilib - 32bit  -->
    199   <!-- - - - - - - - - - -->
    200   <sect2 arch="ml_32,ml_all" role="installation">
    201     <title>Installation of Udev - 32bit</title>
    202 
    203     <para>Clean previous build (while still in the build directory):</para>
    204 
    205 <screen><userinput remap="pre">rm -rf *</userinput></screen>
    206 
    207     <para>Prepare Udev for compilation:</para>
    208 
    209 <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
    210 CC="gcc -m32 -march=i686"              \
    211 CXX="g++ -m32 -march=i686"             \
    212 LANG=en_US.UTF-8                       \
    213 meson setup \
    214       --prefix=/usr                 \
    215       --buildtype=release           \
    216       -Dmode=release                \
    217       -Ddev-kvm-mode=0660           \
    218       -Dlink-udev-shared=false      \
    219       -Dlogind=false                \
    220       -Dvconsole=false              \
    221       ..</userinput></screen>
    222 
    223     <para>Compile the package:</para>
    224 
    225 <screen><userinput remap="make">ninja \
    226       $(grep -o -E "^build (src/libudev|src/udev)[^:]*" \
    227         build.ninja | awk '{ print $2 }')                              \
    228       $(realpath libudev.so --relative-to .)</userinput></screen>
    229 
    230     <para>Install the package:</para>
    231 
    232 <screen><userinput remap="install">mkdir -pv /usr/lib32/pkgconfig &amp;&amp;
    233 cp -av libudev.so{,*[0-9]} /usr/lib32/ &amp;&amp;
    234 sed -e "s;/usr/lib;&amp;32;g" src/libudev/libudev.pc > /usr/lib32/pkgconfig/libudev.pc</userinput></screen>
    235 
    236   </sect2><!-- m32 -->
    237 
    238   <!-- - - - - - - - - - -->
    239   <!-- Multilib - x32bit -->
    240   <!-- - - - - - - - - - -->
    241   <sect2 arch="ml_x32,ml_all" role="installation">
    242     <title>Installation of Udev - x32bit</title>
    243     <para>Clean previous build (while still in the build directory):</para>
    244 
    245 <screen><userinput remap="pre">rm -rf *</userinput></screen>
    246 
    247     <para>Prepare Udev for compilation:</para>
    248 
    249 <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
    250 CC="gcc -mx32"                          \
    251 CXX="g++ -mx32"                         \
    252 CFLAGS+=" -Wno-error=shift-overflow"    \
    253 CXXFLAGS+=" -Wno-error=shift-overflow"  \
    254 LANG=en_US.UTF-8                        \
    255 meson setup \
    256       --prefix=/usr                 \
    257       --buildtype=release           \
    258       -Dmode=release                \
    259       -Ddev-kvm-mode=0660           \
    260       -Dlink-udev-shared=false      \
    261       -Dlogind=false                \
    262       -Dvconsole=false              \
    263       ..</userinput></screen>
    264 
    265     <para>Compile the package:</para>
    266 
    267 <screen><userinput remap="make">ninja \
    268       $(grep -o -E "^build (src/libudev|src/udev)[^:]*" \
    269         build.ninja | awk '{ print $2 }')                              \
    270       $(realpath libudev.so --relative-to .)</userinput></screen>
    271 
    272     <para>Install the package:</para>
    273 
    274 <screen><userinput remap="install">mkdir -pv /usr/libx32/pkgconfig &amp;&amp;
    275 cp -av libudev.so{,*[0-9]} /usr/libx32/ &amp;&amp;
    276 sed -e "s;/usr/lib;&amp;x32;g" src/libudev/libudev.pc > /usr/libx32/pkgconfig/libudev.pc</userinput></screen>
    277 
    278   </sect2><!-- mx32 -->
    279  
    280197  <sect2 id="conf-udev" role="configuration">
    281198    <title>Configuring Udev</title>
  • chapter08/util-linux.xml

    rb9908a1a re7b6af1  
    138138-->
    139139  </sect2>
    140 
    141   <!-- - - - - - - - - - -->
    142   <!-- Multilib - 32bit  -->
    143   <!-- - - - - - - - - - -->
    144  
    145   <sect2 arch="ml_32,ml_all" role="installation">
    146     <title>Installation of Util-linux - 32-bit</title>
    147 
    148     <para>Clean previous build:</para>
    149 
    150 <screen><userinput remap="pre">make distclean</userinput></screen>
    151 
    152     <para>Move a tool out of the way which is optionally used by
    153     configure but will report invalid pathes for multilib builds.</para>
    154 
    155 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>
    156 
    157     <para>Prepare Util-linux for compilation:</para>
    158 
    159 <screen revision="sysv"><userinput remap="configure">CC="gcc -m32" \
    160 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    161             --host=i686-pc-linux-gnu \
    162             --libdir=/usr/lib32      \
    163             --runstatedir=/run       \
    164             --sbindir=/usr/sbin      \
    165             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    166             --disable-chfn-chsh      \
    167             --disable-login          \
    168             --disable-nologin        \
    169             --disable-su             \
    170             --disable-setpriv        \
    171             --disable-runuser        \
    172             --disable-pylibmount     \
    173             --disable-liblastlog2    \
    174             --disable-static         \
    175             --without-python         \
    176             --without-systemd        \
    177             --without-systemdsystemunitdir</userinput></screen>
    178 
    179 <screen revision="systemd"><userinput remap="configure">CC="gcc -m32" \
    180 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    181             --host=i686-pc-linux-gnu \
    182             --libdir=/usr/lib32      \
    183             --runstatedir=/run       \
    184             --sbindir=/usr/sbin      \
    185             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    186             --disable-chfn-chsh      \
    187             --disable-login          \
    188             --disable-nologin        \
    189             --disable-su             \
    190             --disable-setpriv        \
    191             --disable-runuser        \
    192             --disable-pylibmount     \
    193             --disable-liblastlog2    \
    194             --disable-static         \
    195             --without-python</userinput></screen>
    196 
    197     <para>Restore the tool previously moved away:</para>
    198 
    199 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>
    200 
    201     <para>Compile the package:</para>
    202 
    203 <screen><userinput remap="make">make</userinput></screen>
    204 
    205     <para>Install the package:</para>
    206 
    207 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    208 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    209 rm -rf DESTDIR</userinput></screen>
    210 
    211   </sect2><!-- m32 -->
    212 
    213   <!-- - - - - - - - - - -->
    214   <!-- Multilib - x32bit -->
    215   <!-- - - - - - - - - - -->
    216  
    217   <sect2 arch="ml_x32,ml_all" role="installation">
    218     <title>Installation of Util-linux - x32-bit</title>
    219 
    220     <para>Clean previous build:</para>
    221 
    222 <screen><userinput remap="pre">make distclean</userinput></screen>
    223 
    224     <para>Move a tool out of the way which is optionally used by
    225     configure but will report invalid pathes for multilib builds.</para>
    226 
    227 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>
    228 
    229     <para>Prepare Util-linux for compilation:</para>
    230 
    231 <screen revision="sysv"><userinput remap="configure">CC="gcc -mx32" \
    232 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    233             --host=x86_64-pc-linux-gnux32 \
    234             --libdir=/usr/libx32  \
    235             --runstatedir=/run    \
    236             --sbindir=/usr/sbin   \
    237             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    238             --disable-chfn-chsh   \
    239             --disable-login       \
    240             --disable-nologin     \
    241             --disable-su          \
    242             --disable-setpriv     \
    243             --disable-runuser     \
    244             --disable-pylibmount  \
    245             --disable-liblastlog2 \
    246             --disable-static      \
    247             --without-python      \
    248             --without-systemd     \
    249             --without-systemdsystemunitdir</userinput></screen>
    250 
    251 <screen revision="systemd"><userinput remap="configure">CC="gcc -mx32" \
    252 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    253             --host=x86_64-pc-linux-gnux32 \
    254             --libdir=/usr/libx32  \
    255             --runstatedir=/run    \
    256             --sbindir=/usr/sbin   \
    257             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    258             --disable-chfn-chsh   \
    259             --disable-login       \
    260             --disable-nologin     \
    261             --disable-su          \
    262             --disable-setpriv     \
    263             --disable-runuser     \
    264             --disable-pylibmount  \
    265             --disable-liblastlog2 \
    266             --disable-static      \
    267             --without-python</userinput></screen>
    268 
    269     <para>Restore the tool previously moved away:</para>
    270 
    271 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>
    272 
    273     <para>Compile the package:</para>
    274 
    275 <screen><userinput remap="make">make</userinput></screen>
    276 
    277     <para>Install the package:</para>
    278 
    279 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    280 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    281 rm -rf DESTDIR</userinput></screen>
    282 
    283   </sect2><!-- mx32 -->
    284140
    285141  <sect2 id="contents-utillinux" role="content">
  • chapter08/xz.xml

    rb9908a1a re7b6af1  
    6868
    6969  </sect2>
    70 
    71   <!-- - - - - - - - - - -->
    72   <!-- Multilib - 32bit  -->
    73   <!-- - - - - - - - - - -->
    74  
    75   <sect2 arch="ml_32,ml_all" role="installation">
    76     <title>Installation of Xz - 32bit</title>
    77 
    78     <para>Clean previous build:</para>
    79 
    80 <screen><userinput remap="pre">make distclean</userinput></screen>
    81 
    82     <para>Prepare Xz for compilation:</para>
    83 
    84 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    85     --host=i686-pc-linux-gnu      \
    86     --prefix=/usr                 \
    87     --libdir=/usr/lib32           \
    88     --disable-static</userinput></screen>
    89 
    90     <para>Compile the package:</para>
    91 
    92 <screen><userinput remap="make">make</userinput></screen>
    93 
    94     <para>Install the package:</para>
    95 
    96 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    97 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    98 rm -rf DESTDIR</userinput></screen>
    99 
    100   </sect2><!-- m32 -->
    101 
    102   <!-- - - - - - - - - - -->
    103   <!-- Multilib - x32bit -->
    104   <!-- - - - - - - - - - -->
    105  
    106   <sect2 arch="ml_x32,ml_all" role="installation">
    107     <title>Installation of Xz - x32bit</title>
    108 
    109     <para>Clean previous build:</para>
    110 
    111 <screen><userinput remap="pre">make distclean</userinput></screen>
    112 
    113     <para>Prepare Xz for compilation:</para>
    114 
    115 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    116     --host=x86_64-pc-linux-gnux32 \
    117     --prefix=/usr                 \
    118     --libdir=/usr/libx32          \
    119     --disable-static</userinput></screen>
    120 
    121     <para>Compile the package:</para>
    122 
    123 <screen><userinput remap="make">make</userinput></screen>
    124 
    125     <para>Install the package:</para>
    126 
    127 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    128 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    129 rm -rf DESTDIR</userinput></screen>
    130 
    131   </sect2><!-- mx32 -->
    13270
    13371  <sect2 id="contents-xz" role="content">
  • chapter08/zlib.xml

    rb9908a1a re7b6af1  
    6464  </sect2>
    6565
    66   <!-- - - - - - - - - - -->
    67   <!-- Multilib - 32bit  -->
    68   <!-- - - - - - - - - - -->
    69 
    70   <sect2 arch="ml_32,ml_all" role="installation">
    71     <title>Installation of Zlib - 32bit</title>
    72 
    73     <para>Clean previous build:</para>
    74 
    75 <screen><userinput remap="pre">make distclean</userinput></screen>
    76 
    77     <para>Prepare Zlib for compilation:</para>
    78 
    79 <screen><userinput remap="configure">CFLAGS+=" -m32" CXXFLAGS+=" -m32" \
    80 ./configure --prefix=/usr \
    81     --libdir=/usr/lib32</userinput></screen>
    82 
    83     <para>Compile the package:</para>
    84 
    85 <screen><userinput remap="make">make</userinput></screen>
    86 
    87     <para>Install the package:</para>
    88 
    89 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    90 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    91 rm -rf DESTDIR</userinput></screen>
    92 
    93   </sect2><!-- m32 -->
    94 
    95   <!-- - - - - - - - - - -->
    96   <!-- Multilib - x32bit -->
    97   <!-- - - - - - - - - - -->
    98 
    99   <sect2 arch="ml_x32,ml_all" role="installation">
    100     <title>Installation of Zlib - x32bit</title>
    101 
    102 <screen><userinput remap="pre">make distclean</userinput></screen>
    103 
    104     <para>Prepare Zlib for compilation:</para>
    105 
    106 <screen><userinput remap="configure">CFLAGS+=" -mx32" CXXFLAGS+=" -mx32" \
    107 ./configure --prefix=/usr    \
    108     --libdir=/usr/libx32</userinput></screen>
    109 
    110     <para>Compile the package:</para>
    111 
    112 <screen><userinput remap="make">make</userinput></screen>
    113 
    114     <para>Install the package:</para>
    115 
    116 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    117 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    118 rm -rf DESTDIR</userinput></screen>
    119 
    120   </sect2><!-- mx32 -->
    121 
    12266  <sect2 id="contents-zlib" role="content">
    12367    <title>Contents of Zlib</title>
  • chapter08/zstd.xml

    rb9908a1a re7b6af1  
    6565
    6666  </sect2>
    67 
    68   <!-- - - - - - - - - - -->
    69   <!-- Multilib - 32bit  -->
    70   <!-- - - - - - - - - - -->
    71  
    72   <sect2 arch="ml_32,ml_all" role="installation">
    73     <title>Installation of Zstd - 32bit</title>
    74 
    75     <para>Clean previous build:</para>
    76 
    77 <screen><userinput remap="pre">make clean</userinput></screen>
    78 
    79     <para>Compile the package:</para>
    80 
    81 <screen><userinput remap="make">CC="gcc -m32" make prefix=/usr</userinput></screen>
    82 
    83     <para>Install the package:</para>
    84 
    85 <screen><userinput remap="install">make prefix=/usr DESTDIR=$PWD/DESTDIR install
    86 cp -Rv DESTDIR/usr/lib/* /usr/lib32/
    87 sed -e "/^libdir/s/lib$/lib32/" -i /usr/lib32/pkgconfig/libzstd.pc
    88 rm -rf DESTDIR</userinput></screen>
    89 
    90   </sect2><!-- m32 -->
    91 
    92   <!-- - - - - - - - - - -->
    93   <!-- Multilib - x32bit -->
    94   <!-- - - - - - - - - - -->
    95  
    96   <sect2 arch="ml_x32,ml_all" role="installation">
    97     <title>Installation of Zstd - x32bit</title>
    98 
    99     <para>Clean previous build:</para>
    100 
    101 <screen><userinput remap="pre">make clean</userinput></screen>
    102 
    103     <para>Compile the package:</para>
    104 
    105 <screen><userinput remap="make">CC="gcc -mx32" make prefix=/usr</userinput></screen>
    106 
    107     <para>Install the package:</para>
    108 
    109 <screen><userinput remap="install">make prefix=/usr DESTDIR=$PWD/DESTDIR install
    110 cp -Rv DESTDIR/usr/lib/* /usr/libx32/
    111 sed -e "/^libdir/s/lib$/libx32/" -i /usr/libx32/pkgconfig/libzstd.pc
    112 rm -rf DESTDIR</userinput></screen>
    113 
    114   </sect2><!-- mx32 -->
    11567
    11668  <sect2 id="contents-zstd" role="content">
  • chapter10/kernel.xml

    rb9908a1a re7b6af1  
    187187    </note>
    188188
    189     <note arch="ml_32,ml_x32,ml_all">
    190       <para>
    191         The kernel on a multilib system needs to be able to
    192         identify and start binaries compiled for different architectures
    193         than the default.
    194       </para>
    195 
    196       <para arch="ml_32,ml_all">
    197         If support for any 32bit ABI was built, make sure that the option
    198         "IA32 Emulation" is selected. The option 'IA32 a.out support' is
    199         optional.
    200       </para>
    201 
    202       <para arch="ml_x32,ml_all">
    203         If support for the x32bit ABI was built, make sure that the option
    204         "x32 ABI for 64-bit mode" is selected.
    205       </para>
    206 
    207 <screen arch="ml_32">Binary Emulations  ---&gt;
    208     [*] IA32 Emulation [CONFIG_IA32_EMULATION]
    209     &lt;M&gt;   IA32 a.out support [CONFIG_IA32_AOUT]
    210 </screen>
    211 <screen arch="ml_x32">Binary Emulations  ---&gt;
    212     [*] x32 ABI for 64-bit mode [CONFIG_X86_X32]
    213 </screen>
    214 <screen arch="ml_all">Binary Emulations  ---&gt;
    215     [*] IA32 Emulation [CONFIG_IA32_EMULATION]
    216     &lt;M&gt;   IA32 a.out support [CONFIG_IA32_AOUT]
    217     [*] x32 ABI for 64-bit mode [CONFIG_X86_X32]
    218 </screen>
    219     </note>
    220    
    221189    <variablelist>
    222190      <title>The rationale for the above configuration items:</title>
  • packages.ent

    rb9908a1a re7b6af1  
    349349<!ENTITY iproute2-fin-du "17 MB">
    350350<!ENTITY iproute2-fin-sbu "0.1 SBU">
    351 
    352 <!ENTITY isl-version "0.26">
    353 <!ENTITY isl-size "1,988 KB">
    354 <!-- ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz" -->
    355 <!-- ENTITY isl-url "https://gcc.gnu.org/pub/gcc/infrastructure/isl-&isl-version;.tar.bz2" -->
    356 <!ENTITY isl-url "https://libisl.sourceforge.io/isl-&isl-version;.tar.xz">
    357 <!ENTITY isl-md5 "f2b56e8da688eba89838d414470da85f">
    358 <!ENTITY isl-home "http://libisl.sourceforge.io/">
    359 <!ENTITY isl-fin-du "20 MB">
    360 <!ENTITY isl-fin-sbu "0.1 SBU">
    361351
    362352<!ENTITY jinja2-version "3.1.4">
  • prologue/bookinfo.xml

    rb9908a1a re7b6af1  
    88<bookinfo>
    99  <title>Linux From Scratch</title>
    10   <subtitle>Version &version;<phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase></subtitle>
     10  <subtitle>Version &version;</subtitle>
    1111  <subtitle>Published &releasedate;</subtitle>
    1212
     
    2929      <firstname>Editor: DJ</firstname>
    3030      <surname>Lucas</surname>
    31     </author>
    32 
    33     <author arch="ml_32,ml_x32,ml_all">
    34       <firstname>Editor: Thomas</firstname>
    35       <surname>Trepl</surname>
    3631    </author>
    3732  </authorgroup>
  • prologue/preface.xml

    rb9908a1a re7b6af1  
    1616  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/>
    1717  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/>
    18   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="multilib.xml"/>
    1918  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/>
    2019  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/>
Note: See TracChangeset for help on using the changeset viewer.