Changes in / [16cdca7b:2f67a2a]


Ignore:
Files:
2 deleted
50 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    r16cdca7b r2f67a2a  
    3535endif
    3636
    37 ifndef ARCH
    38   ARCH = default
    39 endif
    40 ifneq ($(ARCH), default)
    41   ifneq ($(ARCH), ml_32)
    42     ifneq ($(ARCH), ml_x32)
    43       ifneq ($(ARCH), ml_all)
    44         $(error ARCH must be either 'default' (default if unset), 'ml_32', 'ml_x32' or 'ml_all'.)
    45       endif
    46     endif
    47   endif
    48 endif
    49 
    5037book: validate profile-html
    5138        @echo "Generating chunked XHTML files at $(BASEDIR)/ ..."
     
    142129                --output $(RENDERTMP)/lfs-html2.xml   \
    143130                --stringparam profile.revision $(REV) \
    144                 --stringparam profile.arch $(ARCH)    \
    145131                stylesheets/lfs-xsl/profile.xsl       \
    146132                index.xml
     
    190176        $(Q)xsltproc --nonet --xinclude                    \
    191177                --stringparam profile.revision $(REV) \
    192                 --stringparam profile.arch $(ARCH)    \
    193178                --output $(RENDERTMP)/sysv-md5sum.xml \
    194179                stylesheets/lfs-xsl/profile.xsl       \
  • chapter01/askforhelp.xml

    r16cdca7b r2f67a2a  
    3939    <itemizedlist>
    4040      <listitem>
    41         <para>
    42           The version of the book being used (in this case
    43           <phrase arch="default" revision="sysv">&version;</phrase>
    44           <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase>
    45           <phrase arch="default" revision="systemd">&versiond;</phrase>
    46           <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>)
    47         </para>
     41        <para>The version of the book being used (in this case
     42              <phrase revision="sysv">&version;</phrase>
     43              <phrase revision="systemd">&versiond;</phrase>)</para>
    4844      </listitem>
    4945      <listitem>
     
    6056      </listitem>
    6157      <listitem>
    62         <para>Note whether you have deviated from the book at all</para>
     58        <para>Note whether you have deviated from the book at all </para>
    6359      </listitem>
    6460    </itemizedlist>
  • chapter01/changelog.xml

    r16cdca7b r2f67a2a  
    1212
    1313  <para>This is version
    14     <phrase arch="default" revision="sysv">&version;</phrase>
    15     <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase>
    16     <phrase arch="default" revision="systemd">&versiond;</phrase>
    17     <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>
     14        <phrase revision="sysv">&version;</phrase>
     15        <phrase revision="systemd">&versiond;</phrase>
    1816  of the Linux From Scratch book, dated
    1917  &releasedate;. If this book is more than six months old, a newer and better
  • chapter02/hostreqs.xml

    r16cdca7b r2f67a2a  
    235235-->
    236236
    237     <para arch="ml_32,ml_x32,ml_all">
    238       Building multilib support requires the kernel of the host system
    239       to have 32-bit emulation support included.
    240     </para>
    241 <screen arch="ml_32,ml_x32,ml_all">Binary Emulations  ---&gt;
    242     [*] IA32 Emulation
    243     &lt;M&gt;   IA32 a.out support
    244     [*] x32 ABI for 64-bit mode
    245 </screen>
    246 
    247     <para arch="ml_32,ml_x32,ml_all">The option 'IA32 a.out support' is
    248       optional. In case your kernel does not have 'x32 ABI for 64-bit mode'
    249       enabled but only 'IA32 Emulation', you can continue to build your
    250       system but you have to leave out any sections showing instructions
    251       for building x32 objects. If neither 'IA32 Emulation' nor
    252       'x32 ABI for 64-bit mode' is enabled, you will run in errors
    253       latest when building <application>glibc</application> in Chapter 6,
    254       so an upgrade of your host system kernel is required.
    255     </para>
    256    
    257237</sect1>
  • chapter03/packages.xml

    r16cdca7b r2f67a2a  
    347347        <para>Download: <ulink url="&iproute2-url;"/></para>
    348348        <para>MD5 sum: <literal>&iproute2-md5;</literal></para>
    349       </listitem>
    350     </varlistentry>
    351 
    352     <varlistentry arch="ml_32,ml_x32,ml_all">
    353       <term>ISL (&isl-version;) - <token>&isl-size;</token>:</term>
    354       <listitem>
    355         <para>Home page: <ulink url="&isl-home;"/></para>
    356         <para>Download: <ulink url="&isl-url;"/></para>
    357         <para>MD5 sum: <literal>&isl-md5;</literal></para>
    358349      </listitem>
    359350    </varlistentry>
  • chapter04/addinguser.xml

    r16cdca7b r2f67a2a  
    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  <para>If a separate working directory was created as suggested, give
  • chapter04/creatingminlayout.xml

    r16cdca7b r2f67a2a  
    3030  x86_64) mkdir -pv $LFS/lib64 ;;
    3131esac</userinput></screen>
    32 <screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib32
    33 ln -sv usr/lib32 $LFS/lib32</userinput></screen>
    34 <screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx32
    35 ln -sv usr/libx32 $LFS/libx32</userinput></screen>
    36 <screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32
    37 ln -sv usr/lib32 $LFS/lib32
    38 ln -sv usr/libx32 $LFS/libx32</userinput></screen>
    3932
    4033    <note>
  • chapter04/settingenviron.xml

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

    r16cdca7b r2f67a2a  
    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          \
    7676             --disable-nls              \
    7777             --disable-werror</userinput></screen>
    78 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=$LFS/tools       \
    79              --with-sysroot=$LFS        \
    80              --target=$LFS_TGT          \
    81              --disable-nls              \
    82              --disable-werror           \
    83              --enable-multilib</userinput></screen>
    8478
    8579    <variablelist>
     
    130124      </varlistentry>
    131125
    132       <varlistentry arch="ml_32,ml_x32,ml_all">
    133         <term><parameter>--enable-multilib</parameter></term>
    134         <listitem>
    135           <para>Enables multilib support.</para>
    136         </listitem>
    137       </varlistentry>
    138 
    139126    </variablelist>
    140127
  • chapter05/gcc-pass1.xml

    r16cdca7b r2f67a2a  
    6161mv -v gmp-&gmp-version; gmp
    6262tar -xf ../mpc-&mpc-version;.tar.gz
    63 mv -v mpc-&mpc-version; mpc</userinput>
    64 <userinput remap="pre" arch="ml_32,ml_x32,ml_all">tar -xf ../isl-&isl-version;.tar.xz
    65 mv -v isl-&isl-version; isl</userinput></screen>
    66 
    67     <para arch="default">On x86_64 hosts, set the default directory name for
     63mv -v mpc-&mpc-version; mpc</userinput></screen>
     64
     65    <para>On x86_64 hosts, set the default directory name for
    6866    64-bit libraries to <quote>lib</quote>:</para>
    6967
    70 <screen arch="default"><userinput remap="pre">case $(uname -m) in
     68<screen><userinput remap="pre">case $(uname -m) in
    7169  x86_64)
    7270    sed -e '/m64=/s/lib64/lib/' \
     
    7573esac</userinput></screen>
    7674
    77     <para arch="ml_32,ml_x32,ml_all">Change the default directory name for
    78     libraries:</para>
    79 
    80 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    81     -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
    82     -i.orig gcc/config/i386/t-linux64
    83 </userinput></screen>
    84 
    8575    <para>The GCC documentation recommends building GCC
    8676    in a dedicated build directory:</para>
     
    9181    <para>Prepare GCC for compilation:</para>
    9282
    93 <screen arch="default"><userinput remap="configure">../configure                                       \
     83<screen><userinput remap="configure">../configure                                       \
    9484    --target=$LFS_TGT                              \
    9585    --prefix=$LFS/tools                            \
     
    111101    --disable-libstdcxx                            \
    112102    --enable-languages=c,c++</userinput></screen>
    113 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
    114     arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
    115     arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
    116     arch="ml_all">mlist=m64,m32,mx32</userinput>
    117 <userinput remap="configure">../configure                                       \
    118     --target=$LFS_TGT                              \
    119     --prefix=$LFS/tools                            \
    120     --with-glibc-version=2.11                      \
    121     --with-sysroot=$LFS                            \
    122     --with-newlib                                  \
    123     --without-headers                              \
    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>
     
    185150      </varlistentry>
    186151
    187       <varlistentry arch="default">
     152      <varlistentry>
    188153        <term><parameter>--disable-multilib</parameter></term>
    189154        <listitem>
    190155          <para>On x86_64, LFS does not support a multilib configuration.
    191156          This switch is harmless for x86.</para>
    192         </listitem>
    193       </varlistentry>
    194       <varlistentry arch="ml_32,ml_x32,ml_all">
    195         <term><parameter>--enable-multilib --with-multilib-list=...</parameter></term>
    196         <listitem>
    197           <para>LFS canbe used to support multilib. Which they are is
    198           specified in the multilib list.</para>
    199157        </listitem>
    200158      </varlistentry>
  • chapter05/glibc.xml

    r16cdca7b r2f67a2a  
    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    <para>Some of the Glibc programs use the non-FHS compliant
     
    8481    <para>Next, prepare Glibc for compilation:</para>
    8582
    86 <screen arch="default"><userinput remap="configure">../configure                             \
     83<screen><userinput remap="configure">../configure                             \
    8784      --prefix=/usr                      \
    8885      --host=$LFS_TGT                    \
     
    9087      --enable-kernel=&min-kernel;                \
    9188      --with-headers=$LFS/usr/include    \
    92       libc_cv_slibdir=/usr/lib</userinput></screen>
    93 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure                             \
    94       --prefix=/usr                      \
    95       --host=$LFS_TGT                    \
    96       --build=$(../scripts/config.guess) \
    97       --enable-kernel=&min-kernel;                \
    98       --with-headers=$LFS/usr/include    \
    99       --enable-multi-arch                \
    10089      libc_cv_slibdir=/usr/lib</userinput></screen>
    10190
     
    222211<screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
    223212
    224       <para arch="default">Note that for 32-bit machines, the interpreter name will be
     213      <para>Note that for 32-bit machines, the interpreter name will be
    225214      <filename>/lib/ld-linux.so.2</filename>.</para>
    226215
     
    250239  </sect2>
    251240
    252   <!-- - - - - - - - - - -->
    253   <!-- Multilib - 32bit  -->
    254   <!-- - - - - - - - - - -->
    255   <sect2 arch="ml_32,ml_all">
    256     <title>Building Glibc - 32bit</title>
    257 
    258     <para>Now recompile for m32. The extracted source can be
    259     reused but needs to be cleaned before installing the m32
    260     version of Glibc.</para>
    261 
    262     <para>Clear the build directory and remove artefacts from
    263     previous build:</para>
    264      
    265 <screen><userinput remap="pre">make clean
    266 find .. -name "*.a" -delete</userinput></screen>
    267 
    268     <para>Configure Glibc for m32 with the following commands:</para>
    269 
    270 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \
    271 CXX="$LFS_TGT-g++ -m32" \
    272 ../configure                             \
    273       --prefix=/usr                      \
    274       --host=$LFS_TGT32                  \
    275       --build=$(../scripts/config.guess) \
    276       --enable-kernel=&min-kernel;                \
    277       --with-headers=$LFS/usr/include    \
    278       --enable-multi-arch                \
    279       --libdir=/usr/lib32                \
    280       --libexecdir=/usr/lib32            \
    281       libc_cv_slibdir=/usr/lib32</userinput></screen>
    282 
    283     <para>Compile the package:</para>
    284 
    285 <screen><userinput remap="make">make</userinput></screen>
    286 
    287     <para>Install the package:</para>
    288 
    289 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    290 cp -a DESTDIR/usr/lib32 $LFS/usr/
    291 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
    292                $LFS/usr/include/gnu/
    293 ln -svf ../lib32/ld-linux.so.2 $LFS/lib/ld-linux.so.2</userinput></screen>
    294 
    295 
    296     <caution>
    297       <para>At this point, it is imperative to stop and ensure that the basic
    298       functions (compiling and linking) of the new toolchain are working as
    299       expected. To perform a sanity check, run the following commands:</para>
    300 
    301 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    302 $LFS_TGT-gcc -m32 dummy.c
    303 readelf -l a.out | grep '/ld-linux'</userinput></screen>
    304 
    305       <para>If everything is working correctly, there should be no errors,
    306       and the output of the last command will be of the form:</para>
    307 
    308 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
    309 
    310       <para>If the output is not shown as above or there was no output at all,
    311       then something is wrong. Investigate and retrace the steps to find out
    312       where the problem is and correct it. This issue must be resolved before
    313       continuing on.</para>
    314 
    315       <para>Once all is well, clean up the test files:</para>
    316 
    317 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    318 
    319     </caution>
    320 
    321   </sect2><!-- m32 -->
    322 
    323   <!-- - - - - - - - - - -->
    324   <!-- Multilib - x32bit -->
    325   <!-- - - - - - - - - - -->
    326  
    327   <sect2 arch="ml_x32,ml_all">
    328     <title>Building Glibc - x32bit</title>
    329 
    330     <para>Now recompile for mx32. The extracted source can be
    331     reused but needs to be cleaned before installing the mx32
    332     version of Glibc.</para>
    333 
    334     <para>Clear the build directory and remove artefacts from
    335     previous build:</para>
    336      
    337 <screen><userinput remap="pre">make clean
    338 find .. -name "*.a" -delete</userinput></screen>
    339 
    340     <para>Configure Glibc for mx32 with the following commands:</para>
    341 
    342 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \
    343 CXX="$LFS_TGT-g++ -mx32" \
    344 ../configure                             \
    345       --prefix=/usr                      \
    346       --host=$LFS_TGTX32                 \
    347       --build=$(../scripts/config.guess) \
    348       --enable-kernel=&min-kernel;                \
    349       --with-headers=$LFS/usr/include    \
    350       --enable-multi-arch                \
    351       --libdir=/usr/libx32               \
    352       --libexecdir=/usr/libx32           \
    353       libc_cv_slibdir=/usr/libx32</userinput></screen>
    354 
    355     <para>Compile the package:</para>
    356 
    357 <screen><userinput remap="make">make</userinput></screen>
    358 
    359     <para>Install the package:</para>
    360 
    361 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    362 cp -a DESTDIR/usr/libx32 $LFS/usr/
    363 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
    364                $LFS/usr/include/gnu/
    365 ln -svf ../libx32/ld-linux-x32.so.2 $LFS/lib/ld-linux-x32.so.2</userinput></screen>
    366 
    367     <caution>
    368       <para>At this point, it is imperative to stop and ensure that the basic
    369       functions (compiling and linking) of the new toolchain are working as
    370       expected. To perform a sanity check, run the following commands:</para>
    371 
    372 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    373 $LFS_TGT-gcc -mx32 dummy.c
    374 readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
    375 
    376       <para>If everything is working correctly, there should be no errors,
    377       and the output of the last command will be of the form:</para>
    378 
    379 <screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
    380 
    381       <para>If the output is not shown as above or there was no output at all,
    382       then something is wrong. Investigate and retrace the steps to find out
    383       where the problem is and correct it. This issue must be resolved before
    384       continuing on.</para>
    385 
    386       <para>Once all is well, clean up the test files:</para>
    387 
    388 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    389 
    390     </caution>
    391 
    392   </sect2><!-- mx32 -->
    393 
    394241  <sect2 role="content">
    395242    <title/>
  • chapter05/libstdc++.xml

    r16cdca7b r2f67a2a  
    8282      </varlistentry>
    8383
    84       <varlistentry arch="ml_32,ml_x32,ml_all">
    85         <term><parameter>--disable-multilib</parameter></term>
    86         <listitem>
    87           <para>Even when building the multilib version, this switch is
    88           given. This is because the additionally built libraries are
    89           not required in this stage and some disk space and compile
    90           time can be saved.</para>
    91         </listitem>
    92       </varlistentry>
    93 
    9484      <varlistentry>
    9585        <term><parameter>--disable-libstdcxx-pch</parameter></term>
  • chapter06/binutils-pass2.xml

    r16cdca7b r2f67a2a  
    5151    <para>Prepare Binutils for compilation:</para>
    5252
    53 <screen arch="default"><userinput remap="configure">../configure                   \
     53<screen><userinput remap="configure">../configure                   \
    5454    --prefix=/usr              \
    5555    --build=$(../config.guess) \
     
    5959    --disable-werror           \
    6060    --enable-64-bit-bfd</userinput></screen>
    61 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure                   \
    62     --prefix=/usr              \
    63     --build=$(../config.guess) \
    64     --host=$LFS_TGT            \
    65     --disable-nls              \
    66     --enable-shared            \
    67     --disable-werror           \
    68     --enable-64-bit-bfd        \
    69     --enable-multilib</userinput></screen>
    7061
    7162    <variablelist>
     
    8677          <para>Enables 64-bit support (on hosts with narrower word sizes).
    8778          May not be needed on 64-bit systems, but does no harm.</para>
    88         </listitem>
    89       </varlistentry>
    90 
    91       <varlistentry arch="ml_32,ml_x32,ml_all">
    92         <term><parameter>--enable-multilib</parameter></term>
    93         <listitem>
    94           <para>Enables multilib support in bintutils.</para>
    9579        </listitem>
    9680      </varlistentry>
  • chapter06/gcc-pass2.xml

    r16cdca7b r2f67a2a  
    5353mv -v gmp-&gmp-version; gmp
    5454tar -xf ../mpc-&mpc-version;.tar.gz
    55 mv -v mpc-&mpc-version; mpc</userinput>
    56 <userinput remap="pre" arch="ml_32,ml_x32,ml_all">tar -xf ../isl-&isl-version;.tar.xz
    57 mv -v isl-&isl-version; isl</userinput></screen>
     55mv -v mpc-&mpc-version; mpc</userinput></screen>
    5856
    59 
    60     <para arch="default">If building on x86_64, change the default directory name for 64-bit
     57    <para>If building on x86_64, change the default directory name for 64-bit
    6158    libraries to <quote>lib</quote>:</para>
    6259
    63 <screen arch="default"><userinput remap="pre">case $(uname -m) in
     60<screen><userinput remap="pre">case $(uname -m) in
    6461  x86_64)
    6562    sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
    6663  ;;
    6764esac</userinput></screen>
     65<!--
     66    <para>Fix an issue with GCC-10.1 when building with a cross
     67    compiler:</para>
    6868
    69     <para arch="ml_32,ml_x32,ml_all">Change the default directory name for
    70     libraries:</para>
    71 
    72 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
    73     -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \
    74     -i.orig gcc/config/i386/t-linux64</userinput></screen>
    75 <!--
    7669<screen><userinput remap="pre">patch -Np1 -i ../&gcc-cross-patch;</userinput></screen>
    7770-->
     
    9285    <para>Now prepare GCC for compilation:</para>
    9386
    94 <screen arch="default"><userinput remap="configure">../configure                                       \
     87<screen><userinput remap="configure">../configure                                       \
    9588    --build=$(../config.guess)                     \
    9689    --host=$LFS_TGT                                \
     
    10194    --disable-nls                                  \
    10295    --disable-multilib                             \
    103     --disable-decimal-float                        \
    104     --disable-libatomic                            \
    105     --disable-libgomp                              \
    106     --disable-libquadmath                          \
    107     --disable-libssp                               \
    108     --disable-libvtv                               \
    109     --disable-libstdcxx                            \
    110     --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     --build=$(../config.guess)                     \
    117     --host=$LFS_TGT                                \
    118     --prefix=/usr                                  \
    119     CC_FOR_TARGET=$LFS_TGT-gcc                     \
    120     --with-build-sysroot=$LFS                      \
    121     --enable-initfini-array                        \
    122     --disable-nls                                  \
    123     --enable-multilib --with-multilib-list=$mlist  \
    12496    --disable-decimal-float                        \
    12597    --disable-libatomic                            \
  • chapter06/ncurses.xml

    r16cdca7b r2f67a2a  
    151151  </sect2>
    152152
    153   <!-- - - - - - - - - - -->
    154   <!-- Multilib - 32bit  -->
    155   <!-- - - - - - - - - - -->
    156   <sect2 arch="ml_32,ml_all">
    157     <title>Building Ncurses - 32bit</title>
    158 
    159     <para>Clean previous build:</para>
    160 
    161 <screen><userinput remap="pre">make distclean</userinput></screen>
    162 
    163     <para>Prepare Ncurses for compilation:</para>
    164 
    165 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32"              \
    166 CXX="$LFS_TGT-g++ -m32"             \
    167 ./configure --prefix=/usr           \
    168             --host=$LFS_TGT32       \
    169             --build=$(./config.guess)    \
    170             --libdir=/usr/lib32     \
    171             --mandir=/usr/share/man \
    172             --with-shared           \
    173             --without-debug         \
    174             --without-ada           \
    175             --without-normal        \
    176             --enable-pc-files       \
    177             --enable-widec          \
    178             --with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>
    179 
    180     <para>Compile the package:</para>
    181 
    182 <screen><userinput remap="make">make</userinput></screen>
    183 
    184     <para>Install the package:</para>
    185 
    186 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
    187 ln -s libncursesw.so DESTDIR/usr/lib32/libcursesw.so
    188 cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32
    189 rm -rf DESTDIR</userinput></screen>
    190 
    191   </sect2><!-- m32 -->
    192 
    193   <!-- - - - - - - - - - -->
    194   <!-- Multilib - x32bit -->
    195   <!-- - - - - - - - - - -->
    196   <sect2 arch="ml_x32,ml_all">
    197     <title>Building Ncurses - x32bit</title>
    198 
    199     <para>Clean previous build:</para>
    200 
    201 <screen><userinput remap="pre">make distclean</userinput></screen>
    202 
    203     <para>Prepare Ncurses for compilation:</para>
    204 
    205 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32"             \
    206 CXX="$LFS_TGT-g++ -mx32"            \
    207 ./configure --prefix=/usr           \
    208             --host=$LFS_TGTX32      \
    209             --build=$(./config.guess)    \
    210             --libdir=/usr/libx32    \
    211             --mandir=/usr/share/man \
    212             --with-shared           \
    213             --without-debug         \
    214             --without-ada           \
    215             --without-normal        \
    216             --enable-pc-files       \
    217             --enable-widec          \
    218             --with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>
    219 
    220     <para>Compile the package:</para>
    221 
    222 <screen><userinput remap="make">make</userinput></screen>
    223 
    224     <para>Install the package:</para>
    225 
    226 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install
    227 ln -s libncursesw.so DESTDIR/usr/libx32/libcursesw.so
    228 cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32
    229 rm -rf DESTDIR</userinput></screen>
    230 
    231   </sect2><!-- mx32 -->
    232 
    233153  <sect2 role="content">
    234154    <title/>
  • chapter07/changingowner.xml

    r16cdca7b r2f67a2a  
    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/creatingdirs.xml

    r16cdca7b r2f67a2a  
    4242install -dv -m 1777 /tmp /var/tmp</userinput></screen>
    4343
    44   <para arch="ml_32,ml_x32,ml_all">Required directories for multilib
    45   support has already been created while previous installation steps.</para>
    46 
    4744  <para>Directories are, by default, created with permission mode 755, but
    4845  this is not desirable for all directories. In the commands above, two
  • chapter07/libstdc++-pass2.xml

    r16cdca7b r2f67a2a  
    6363    <para>Prepare libstdc++ for compilation:</para>
    6464
    65 <screen arch="default"><userinput remap="configure">../libstdc++-v3/configure            \
     65<screen><userinput remap="configure">../libstdc++-v3/configure            \
    6666    CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
    6767    --prefix=/usr                    \
    6868    --disable-multilib               \
    69     --disable-nls                    \
    70     --host=$(uname -m)-lfs-linux-gnu \
    71     --disable-libstdcxx-pch</userinput></screen>
    72 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure            \
    73     CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
    74     --prefix=/usr                    \
    75     --enable-multilib                \
    7669    --disable-nls                    \
    7770    --host=$(uname -m)-lfs-linux-gnu \
     
    10699      </varlistentry>
    107100
    108       <varlistentry arch="ml_32,ml_x32,ml_all">
    109         <term><parameter>--enable-multilib</parameter></term>
    110         <listitem>
    111           <para>This switch is set by default but it is added here
    112           explicitly for documentary purpose. The libstdc++ libraries
    113           will be built for every arch (m64, m32, mx32) which are
    114           made available in <xref linkend="ch-tools-gcc-pass1"/>.</para>
    115         </listitem>
    116       </varlistentry>
    117 
    118101    </variablelist>
    119102
  • chapter07/stripping.xml

    r16cdca7b r2f67a2a  
    1616  While still in chroot, remove those files now:</para>
    1717
    18 <screen arch="default"><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
    19 <screen arch="ml_32"><userinput>find /usr/{lib{,32},libexec} -name \*.la -delete</userinput></screen>
    20 <screen arch="ml_x32"><userinput>find /usr/{lib{,x32},libexec} -name \*.la -delete</userinput></screen>
    21 <screen arch="ml_all"><userinput>find /usr/{lib{,{,x}32},libexec} -name \*.la -delete</userinput></screen>
     18<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
    2219
    2320    <para>Remove the documentation of the temporary tools, to prevent them
     
    9188
    9289    <para>Strip off debugging symbols from binaries:</para>
    93 <screen arch="default" role="nodump"><userinput>$LFS_TGT-strip --strip-unneeded $LFS/usr/lib/*
    94 $LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/*
    95 $LFS_TGT-strip --strip-unneeded $LFS/tools/bin/*</userinput></screen>
    96 <screen arch="ml_32" role="nodump"><userinput>$LFS_TGT-strip --strip-unneeded $LFS/usr/lib{,32}/*
    97 $LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/*
    98 $LFS_TGT-strip --strip-unneeded $LFS/tools/bin/*</userinput></screen>
    99 <screen arch="ml_x32" role="nodump"><userinput>$LFS_TGT-strip --strip-unneeded $LFS/usr/lib{,x32}/*
    100 $LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/*
    101 $LFS_TGT-strip --strip-unneeded $LFS/tools/bin/*</userinput></screen>
    102 <screen arch="ml_all" role="nodump"><userinput>$LFS_TGT-strip --strip-unneeded $LFS/usr/lib{,{,x}32}/*
     90<screen role="nodump"><userinput>$LFS_TGT-strip --strip-unneeded $LFS/usr/lib/*
    10391$LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/*
    10492$LFS_TGT-strip --strip-unneeded $LFS/tools/bin/*</userinput></screen>
  • chapter07/util-linux.xml

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

    r16cdca7b r2f67a2a  
    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 Xz 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 Xz 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

    r16cdca7b r2f67a2a  
    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     --libdir=/usr/lib32 \
    84     --host=i686-pc-linux-gnu</userinput></screen>
    85 
    86     <para>Compile the package:</para>
    87 
    88 <screen><userinput remap="make">make</userinput></screen>
    89 
    90     <para>Install the package:</para>
    91 
    92 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    93 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    94 rm -rf DESTDIR</userinput></screen>
    95 
    96   </sect2><!-- m32 -->
    97 
    98   <!-- - - - - - - - - - -->
    99   <!-- Multilib - x32bit -->
    100   <!-- - - - - - - - - - -->
    101  
    102   <sect2 arch="ml_x32,ml_all" role="installation">
    103     <title>Installation of Attr - x32bit</title>
    104 
    105     <para>Clean previous build:</para>
    106 
    107 <screen><userinput remap="pre">make distclean</userinput></screen>
    108 
    109     <para>Prepare Attr for compilation:</para>
    110 
    111 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    112     --prefix=/usr          \
    113     --disable-static       \
    114     --libdir=/usr/libx32   \
    115     --host=x86_64-pc-linux-gnux32</userinput></screen>
    116 
    117     <para>Compile the package:</para>
    118 
    119 <screen><userinput remap="make">make</userinput></screen>
    120 
    121     <para>Install the package:</para>
    122 
    123 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    124 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    125 rm -rf DESTDIR</userinput></screen>
    126 
    127   </sect2><!-- mx32 -->
    128 
    12967  <sect2 id="contents-attr" role="content">
    13068    <title>Contents of Attr</title>
  • chapter08/binutils.xml

    r16cdca7b r2f67a2a  
    7878    <para>Prepare Binutils for compilation:</para>
    7979
    80 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr       \
     80<screen><userinput remap="configure">../configure --prefix=/usr       \
    8181             --enable-gold       \
    8282             --enable-ld=default \
     
    8686             --enable-64-bit-bfd \
    8787             --with-system-zlib</userinput></screen>
    88 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr       \
    89              --enable-gold       \
    90              --enable-ld=default \
    91              --enable-plugins    \
    92              --enable-shared     \
    93              --disable-werror    \
    94              --enable-64-bit-bfd \
    95              --with-system-zlib  \
    96              --enable-multilib</userinput></screen>
    97 
    9888    <variablelist>
    9989      <title>The meaning of the configure parameters:</title>
     
    127117           <para>Enables 64-bit support (on hosts with narrower word sizes).
    128118           May not be needed on 64-bit systems, but does no harm.</para>
    129         </listitem>
    130       </varlistentry>
    131 
    132       <varlistentry arch="ml_32,ml_x32,ml_all">
    133         <term><parameter>--enable-multilib</parameter></term>
    134         <listitem>
    135           <para>Enables multilib support in bintutils.</para>
    136119        </listitem>
    137120      </varlistentry>
  • chapter08/bzip2.xml

    r16cdca7b r2f67a2a  
    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

    r16cdca7b r2f67a2a  
    3535  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
    3636  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
    37   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="isl.xml"/>
    3837  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
    3938  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
  • chapter08/eudev.xml

    r16cdca7b r2f67a2a  
    8484
    8585  </sect2>
    86 
    87   <!-- - - - - - - - - - -->
    88   <!-- Multilib - 32bit  -->
    89   <!-- - - - - - - - - - -->
    90  
    91   <sect2 arch="ml_32,ml_all" role="installation">
    92     <title>Installation of Eudev - 32bit</title>
    93 
    94     <para>Clean previous build:</para>
    95 
    96 <screen><userinput remap="pre">make distclean</userinput></screen>
    97 
    98     <para>Prepare Eudev for compilation:</para>
    99 
    100 <screen><userinput remap="configure">CC="gcc -m32" \
    101 ./configure --host=i686-pc-linux-gnu       \
    102             --prefix=/usr                  \
    103             --bindir=/usr/sbin             \
    104             --libdir=/usr/lib32            \
    105             --sysconfdir=/etc              \
    106             --disable-manpages             \
    107             --disable-static               \
    108             --config-cache</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/lib32/* /usr/lib32
    118 rm -rf DESTDIR</userinput></screen>
    119 
    120   </sect2><!-- m32 -->
    121 
    122   <!-- - - - - - - - - - -->
    123   <!-- Multilib - x32bit -->
    124   <!-- - - - - - - - - - -->
    125  
    126   <sect2 arch="ml_x32,ml_all" role="installation">
    127     <title>Installation of Eudev - x32bit</title>
    128 
    129     <para>Clean previous build:</para>
    130 
    131 <screen><userinput remap="pre">make distclean</userinput></screen>
    132 
    133     <para>Prepare Eudev for compilation:</para>
    134 
    135 <screen><userinput remap="configure">CC="gcc -mx32" \
    136 ./configure --host=x86_64-lfs-linux-gnux32 \
    137             --prefix=/usr                  \
    138             --bindir=/usr/sbin             \
    139             --libdir=/usr/libx32           \
    140             --sysconfdir=/etc              \
    141             --disable-manpages             \
    142             --disable-static               \
    143             --config-cache</userinput></screen>
    144 
    145     <para>Compile the package:</para>
    146 
    147 <screen><userinput remap="make">make</userinput></screen>
    148 
    149     <para>Install the package:</para>
    150 
    151 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    152 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    153 rm -rf DESTDIR</userinput></screen>
    154 
    155   </sect2><!-- mx32 -->
    15686
    15787  <sect2 id="conf-eudev" role="configuration">
  • chapter08/expat.xml

    r16cdca7b r2f67a2a  
    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     --libdir=/usr/lib32  \
    86     --host=i686-pc-linux-gnu</userinput></screen>
    87 
    88     <para>Compile the package:</para>
    89 
    90 <screen><userinput remap="make">make</userinput></screen>
    91 
    92     <para>Install the package:</para>
    93 
    94 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    95 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    96 rm -rf DESTDIR</userinput></screen>
    97 
    98   </sect2><!-- m32 -->
    99 
    100   <!-- - - - - - - - - - -->
    101   <!-- Multilib - x32bit -->
    102   <!-- - - - - - - - - - -->
    103  
    104   <sect2 arch="ml_x32,ml_all" role="installation">
    105     <title>Installation of Expat - x32bit</title>
    106 
    107     <para>Clean previous build but keep precompiled doc because it
    108     cannot be rebuilt in this stage of the system:</para>
    109 
    110 <screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
    111 make clean</userinput></screen>
    112 
    113     <para>Prepare Expat for compilation:</para>
    114 
    115 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    116     --prefix=/usr         \
    117     --libdir=/usr/libx32 \
    118     --host=x86_64-pc-linux-gnux32</userinput></screen>
    119 
    120     <para>Compile the package:</para>
    121 
    122 <screen><userinput remap="make">make</userinput></screen>
    123 
    124     <para>Install the package:</para>
    125 
    126 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    127 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    128 rm -rf DESTDIR</userinput></screen>
    129 
    130   </sect2><!-- mx32 -->
    131 
    13268  <sect2 id="contents-expat" role="content">
    13369    <title>Contents of Expat</title>
  • chapter08/file.xml

    r16cdca7b r2f67a2a  
    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

    r16cdca7b r2f67a2a  
    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++ \
    7164             --disable-multilib       \
    7265             --disable-bootstrap      \
    73              --with-system-zlib</userinput></screen>
    74 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
    75   arch="ml_32" >mlist=m64,m32</userinput><userinput remap="configure"
    76   arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
    77   arch="ml_all">mlist=m64,m32,mx32</userinput>
    78 <userinput remap="configure">../configure --prefix=/usr               \
    79              LD=ld                       \
    80              --enable-languages=c,c++    \
    81              --enable-multilib           \
    82              --with-multilib-list=$mlist \
    83              --disable-bootstrap         \
    8466             --with-system-zlib</userinput></screen>
    8567
     
    285267SEARCH_DIR("/usr/lib");</computeroutput></screen>
    286268
    287    <para arch="default">A 32-bit system may see a few different directories. For example, here
     269   <para>A 32-bit system may see a few different directories. For example, here
    288270   is the output from an i686 machine:</para>
    289271
    290 <!-- not using entities here as the dir names has nothing to do with multilib -->
    291 <screen arch="default"><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
     272<screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
    292273SEARCH_DIR("/usr/local/lib32")
    293274SEARCH_DIR("/lib32")
  • chapter08/glibc.xml

    r16cdca7b r2f67a2a  
    7474    <para>Prepare Glibc for compilation:</para>
    7575
    76 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr                            \
     76<screen><userinput remap="configure">../configure --prefix=/usr                            \
    7777             --disable-werror                         \
    7878             --enable-kernel=&min-kernel;                      \
    7979             --enable-stack-protector=strong          \
    8080             --with-headers=/usr/include              \
    81              libc_cv_slibdir=/usr/lib</userinput></screen>
    82 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr                            \
    83              --disable-werror                         \
    84              --enable-kernel=&min-kernel;                      \
    85              --enable-stack-protector=strong          \
    86              --with-headers=/usr/include              \
    87              --enable-multi-arch                      \
    8881             libc_cv_slibdir=/usr/lib</userinput></screen>
    8982
     
    499492  </sect2>
    500493
    501   <!-- - - - - - - - - - -->
    502   <!-- Multilib - 32bit  -->
    503   <!-- - - - - - - - - - -->
    504   <sect2 arch="ml_32,ml_all">
    505     <title>Building Glibc - 32bit</title>
    506 
    507     <para>Now recompile for m32. The extracted source can be
    508     reused but needs to be cleaned before installing the m32
    509     version of Glibc.</para>
    510 
    511     <para>Clear the build directory and remove artefacts from
    512     previous build:</para>
    513      
    514 <screen><userinput remap="pre">rm -rf ./*
    515 find .. -name "*.a" -delete</userinput></screen>
    516 
    517     <para>Configure Glibc for m32 with the following commands:</para>
    518 
    519 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
    520 ../configure                             \
    521       --prefix=/usr                      \
    522       --host=i686-pc-linux-gnu           \
    523       --build=$(../scripts/config.guess) \
    524       --enable-kernel=&min-kernel;                \
    525       --with-headers=/usr/include        \
    526       --enable-multi-arch                \
    527       --libdir=/usr/lib32                \
    528       --libexecdir=/usr/lib32            \
    529       libc_cv_slibdir=/usr/lib32</userinput></screen>
    530 
    531     <para>Compile the package:</para>
    532 
    533 <screen><userinput remap="make">make</userinput></screen>
    534 
    535     <para>Install the package:</para>
    536 
    537 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    538 cp -a DESTDIR/usr/lib32/* /usr/lib32/
    539 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \
    540                /usr/include/gnu/</userinput></screen>
    541 <!-- no longer required as they are created in chap5
    542 ln -svf ../lib32/ld-linux.so.2 /lib/ld-linux.so.2
    543 -->
    544 
    545     <para>Add the library name to the dynamic loader config:</para>
    546 
    547 <screen role="install"><userinput>echo "/usr/lib32" &gt;&gt; /etc/ld.so.conf</userinput></screen>
    548 
    549     <caution>
    550       <para>At this point, it is imperative to stop and ensure that the basic
    551       functions (compiling and linking) of the new toolchain are working as
    552       expected. To perform a sanity check, run the following commands:</para>
    553 
    554 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    555 gcc -m32 dummy.c
    556 readelf -l a.out | grep '/ld-linux'</userinput></screen>
    557 
    558       <para>If everything is working correctly, there should be no errors,
    559       and the output of the last command will be of the form:</para>
    560 
    561 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
    562 
    563       <para>If the output is not shown as above or there was no output at all,
    564       then something is wrong. Investigate and retrace the steps to find out
    565       where the problem is and correct it. This issue must be resolved before
    566       continuing on.</para>
    567 
    568       <para>Once all is well, clean up the test files:</para>
    569 
    570 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    571 
    572     </caution>
    573 
    574   </sect2><!-- m32 -->
    575 
    576   <!-- - - - - - - - - - -->
    577   <!-- Multilib - x32bit -->
    578   <!-- - - - - - - - - - -->
    579  
    580   <sect2 arch="ml_x32,ml_all">
    581     <title>Building Glibc - x32bit</title>
    582 
    583     <para>Now recompile for mx32. The extracted source can be
    584     reused but needs to be cleaned before installing the mx32
    585     version of Glibc.</para>
    586 
    587     <para>Clear the build directory and remove artefacts from
    588     previous build:</para>
    589      
    590 <screen><userinput remap="pre">rm -rf ./*
    591 find .. -name "*.a" -delete</userinput></screen>
    592 
    593     <para>Configure Glibc for mx32 with the following commands:</para>
    594 
    595 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
    596 ../configure                             \
    597       --prefix=/usr                      \
    598       --host=x86_64-pc-linux-gnux32      \
    599       --build=$(../scripts/config.guess) \
    600       --enable-kernel=&min-kernel;                \
    601       --with-headers=/usr/include        \
    602       --enable-multi-arch                \
    603       --libdir=/usr/libx32               \
    604       --libexecdir=/usr/libx32           \
    605       libc_cv_slibdir=/usr/libx32</userinput></screen>
    606 
    607     <para>Compile the package:</para>
    608 
    609 <screen><userinput remap="make">make</userinput></screen>
    610 
    611     <para>Install the package:</para>
    612 
    613 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    614 cp -a DESTDIR/usr/libx32/* /usr/libx32/
    615 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \
    616                /usr/include/gnu/</userinput></screen>
    617 <!-- no longer required as they are created in chap5
    618 ln -svf ../libx32/ld-linux-x32.so.2 /lib/ld-linux-x32.so.2
    619 -->
    620     <para>Add the library name to the dynamic loader config:</para>
    621 
    622 <screen role="install"><userinput>echo "/usr/libx32" &gt;&gt; /etc/ld.so.conf</userinput></screen>
    623 
    624     <caution>
    625       <para>At this point, it is imperative to stop and ensure that the basic
    626       functions (compiling and linking) of the new toolchain are working as
    627       expected. To perform a sanity check, run the following commands:</para>
    628 
    629 <screen><userinput>echo 'int main(){}' &gt; dummy.c
    630 gcc -mx32 dummy.c
    631 readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
    632 
    633       <para>If everything is working correctly, there should be no errors,
    634       and the output of the last command will be of the form:</para>
    635 
    636 <screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>
    637 
    638       <para>If the output is not shown as above or there was no output at all,
    639       then something is wrong. Investigate and retrace the steps to find out
    640       where the problem is and correct it. This issue must be resolved before
    641       continuing on.</para>
    642 
    643       <para>Once all is well, clean up the test files:</para>
    644 
    645 <screen><userinput>rm -v dummy.c a.out</userinput></screen>
    646 
    647     </caution>
    648 
    649   </sect2><!-- mx32 -->
    650 
    651494  <sect2 id="contents-glibc" role="content">
    652495    <title>Contents of Glibc</title>
  • chapter08/gmp.xml

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

    r16cdca7b r2f67a2a  
    8383
    8484  </sect2>
    85 
    86   <!-- - - - - - - - - - -->
    87   <!-- Multilib - 32bit  -->
    88   <!-- - - - - - - - - - -->
    89  
    90   <sect2 arch="ml_32,ml_all" role="installation">
    91     <title>Installation of Kmod - 32bit</title>
    92 
    93     <para>Clean previous build but keep man pages as they cannot
    94     be recreated since xsltproc isn't installed yet:</para>
    95 
    96 <screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
    97 make clean</userinput></screen>
    98 
    99     <para>Prepare Kmod for compilation:</para>
    100 
    101 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    102     --host=i686-pc-linux-gnu      \
    103     --prefix=/usr                 \
    104     --libdir=/usr/lib32           \
    105     --sysconfdir=/etc             \
    106     --with-xz                     \
    107     --with-zlib                   \
    108     --with-rootlibdir=/usr/lib32</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/lib32/* /usr/lib32
    118 rm -rf DESTDIR</userinput></screen>
    119 
    120   </sect2><!-- m32 -->
    121 
    122   <!-- - - - - - - - - - -->
    123   <!-- Multilib - x32bit -->
    124   <!-- - - - - - - - - - -->
    125  
    126   <sect2 arch="ml_x32,ml_all" role="installation">
    127     <title>Installation of Kmod - x32bit</title>
    128 
    129     <para>Clean previous build but keep man pages as they cannot
    130     be recreated since xsltproc isn't installed yet:</para>
    131 
    132 <screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
    133 make clean</userinput></screen>
    134 
    135     <para>Prepare Kmod for compilation:</para>
    136 
    137 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    138     --host=x86_64-pc-linux-gnux32 \
    139     --prefix=/usr                 \
    140     --libdir=/usr/libx32          \
    141     --sysconfdir=/etc             \
    142     --with-xz                     \
    143     --with-zlib                   \
    144     --with-rootlibdir=/usr/libx32</userinput></screen>
    145 
    146     <para>Compile the package:</para>
    147 
    148 <screen><userinput remap="make">make</userinput></screen>
    149 
    150     <para>Install the package:</para>
    151 
    152 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    153 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    154 rm -rf DESTDIR</userinput></screen>
    155 
    156   </sect2><!-- mx32 -->
    15785
    15886  <sect2 id="contents-kmod" role="content">
  • chapter08/libcap.xml

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

    r16cdca7b r2f67a2a  
    6969  </sect2>
    7070
    71   <!-- - - - - - - - - - -->
    72   <!-- Multilib - 32bit  -->
    73   <!-- - - - - - - - - - -->
    74  
    75   <sect2 arch="ml_32,ml_all" role="installation">
    76     <title>Installation of Libelf - 32bit</title>
    77 
    78     <para>Clean previous build:</para>
    79 
    80 <screen><userinput remap="pre">make distclean</userinput></screen>
    81 
    82     <para>Prepare Libtool 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-debuginfod     \
    89     --enable-libdebuginfod=dummy</userinput></screen>
    90 
    91     <para>Compile the package:</para>
    92 
    93 <screen><userinput remap="make">make</userinput></screen>
    94 
    95     <para>Install the package:</para>
    96 
    97 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
    98 install -vDm644 config/libelf.pc DESTDIR/usr/lib32/pkgconfig/libelf.pc
    99 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    100 rm -rf DESTDIR</userinput></screen>
    101 
    102   </sect2><!-- m32 -->
    103 
    104   <!-- - - - - - - - - - -->
    105   <!-- Multilib - x32bit -->
    106   <!-- - - - - - - - - - -->
    107  
    108   <sect2 arch="ml_x32,ml_all" role="installation">
    109     <title>Installation of Libelf - x32bit</title>
    110 
    111     <para>Clean previous build:</para>
    112 
    113 <screen><userinput remap="pre">make distclean</userinput></screen>
    114 
    115     <para>Prepare Libtool for compilation:</para>
    116 
    117 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    118     --host=x86_64-pc-linux-gnux32 \
    119     --prefix=/usr                 \
    120     --libdir=/usr/libx32          \
    121     --disable-debuginfod          \
    122     --enable-libdebuginfod=dummy</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 -C libelf install
    131 install -vDm644 config/libelf.pc DESTDIR/usr/libx32/pkgconfig/libelf.pc
    132 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    133 rm -rf DESTDIR</userinput></screen>
    134 
    135   </sect2><!-- mx32 -->
    136 
    13771  <sect2 id="contents-elfutils" role="content">
    13872    <title>Contents of Libelf</title>
  • chapter08/libffi.xml

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

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

    r16cdca7b r2f67a2a  
    150150
    151151  </sect2>
    152 
    153   <!-- - - - - - - - - - -->
    154   <!-- Multilib - 32bit  -->
    155   <!-- - - - - - - - - - -->
    156   <sect2 arch="ml_32,ml_all">
    157     <title>Building Ncurses - 32bit</title>
    158 
    159     <para>Clean previous build:</para>
    160 
    161 <screen><userinput remap="pre">make distclean</userinput></screen>
    162 
    163     <para>Prepare Ncurses for compilation:</para>
    164 
    165 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \
    166 ./configure --prefix=/usr           \
    167             --host=i686-pc-linux-gnu \
    168             --libdir=/usr/lib32     \
    169             --mandir=/usr/share/man \
    170             --with-shared           \
    171             --without-debug         \
    172             --without-normal        \
    173             --enable-pc-files       \
    174             --enable-widec          \
    175             --with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>
    176 
    177     <para>Compile the package:</para>
    178 
    179 <screen><userinput remap="make">make</userinput></screen>
    180 
    181     <para>Install the package:</para>
    182 
    183 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    184 mkdir -p DESTDIR/usr/lib32/pkgconfig
    185 for lib in ncurses form panel menu ; do
    186     rm -vf                    DESTDIR/usr/lib32/lib${lib}.so
    187     echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so
    188     ln -svf ${lib}w.pc        DESTDIR/usr/lib32/pkgconfig/$lib.pc
    189 done
    190 rm -vf                     DESTDIR/usr/lib32/libcursesw.so
    191 echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so
    192 ln -sfv libncurses.so      DESTDIR/usr/lib32/libcurses.so
    193 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    194 rm -rf DESTDIR</userinput></screen>
    195 
    196   </sect2><!-- m32 -->
    197 
    198   <!-- - - - - - - - - - -->
    199   <!-- Multilib - x32bit -->
    200   <!-- - - - - - - - - - -->
    201   <sect2 arch="ml_x32,ml_all">
    202     <title>Building Ncurses - x32bit</title>
    203 
    204     <para>Clean previous build:</para>
    205 
    206 <screen><userinput remap="pre">make distclean</userinput></screen>
    207 
    208     <para>Prepare Ncurses for compilation:</para>
    209 
    210 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \
    211 ./configure --prefix=/usr           \
    212             --host=x86_64-pc-linux-gnux32 \
    213             --libdir=/usr/libx32    \
    214             --mandir=/usr/share/man \
    215             --with-shared           \
    216             --without-debug         \
    217             --without-normal        \
    218             --enable-pc-files       \
    219             --enable-widec          \
    220             --with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>
    221 
    222     <para>Compile the package:</para>
    223 
    224 <screen><userinput remap="make">make</userinput></screen>
    225 
    226     <para>Install the package:</para>
    227 
    228 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    229 mkdir -p DESTDIR/usr/libx32/pkgconfig
    230 for lib in ncurses form panel menu ; do
    231     rm -vf                    DESTDIR/usr/libx32/lib${lib}.so
    232     echo "INPUT(-l${lib}w)" > DESTDIR/usr/libx32/lib${lib}.so
    233     ln -svf ${lib}w.pc        DESTDIR/usr/libx32/pkgconfig/$lib.pc
    234 done
    235 rm -vf                     DESTDIR/usr/libx32/libcursesw.so
    236 echo "INPUT(-lncursesw)" > DESTDIR/usr/libx32/libcursesw.so
    237 ln -sfv libncurses.so      DESTDIR/usr/libx32/libcurses.so
    238 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    239 rm -rf DESTDIR</userinput></screen>
    240 
    241   </sect2><!-- mx32 -->
    242152
    243153  <sect2 id="contents-ncurses" role="content">
  • chapter08/openssl.xml

    r16cdca7b r2f67a2a  
    9999  </sect2>
    100100
    101   <!-- - - - - - - - - - -->
    102   <!-- Multilib - 32bit  -->
    103   <!-- - - - - - - - - - -->
    104  
    105   <sect2 arch="ml_32,ml_all" role="installation">
    106     <title>Installation of OpenSSL - 32bit</title>
    107 
    108     <para>Clean previous build:</para>
    109 
    110 <screen><userinput remap="pre">make distclean</userinput></screen>
    111 
    112     <para>Prepare OpenSSL for compilation:</para>
    113 
    114 <screen><userinput remap="configure">MACHINE="i686"             \
    115 CC="gcc -m32 -march=i686"  \
    116 CXX="g++ -m32 -march=i686" \
    117     ./config               \
    118     --prefix=/usr          \
    119     --openssldir=/etc/ssl  \
    120     --libdir=lib32         \
    121     shared                 \
    122     zlib-dynamic</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/lib32/* /usr/lib32
    132 rm -rf DESTDIR</userinput></screen>
    133 
    134   </sect2><!-- m32 -->
    135 
    136   <!-- - - - - - - - - - -->
    137   <!-- Multilib - x32bit -->
    138   <!-- - - - - - - - - - -->
    139  
    140   <sect2 arch="ml_x32,ml_all" role="installation">
    141     <title>Installation of OpenSSL - x32bit</title>
    142 
    143     <para>Clean previous build:</para>
    144 
    145 <screen><userinput remap="pre">make distclean</userinput></screen>
    146 
    147     <para>Prepare OpenSSL for compilation:</para>
    148 
    149 <screen><userinput remap="configure">MACHINE="x86_64"          \
    150 CC="gcc -mx32"            \
    151 CXX="g++ -mx32"           \
    152     ./config              \
    153     --prefix=/usr         \
    154     --openssldir=/etc/ssl \
    155     --libdir=libx32       \
    156     shared                \
    157     zlib-dynamic</userinput></screen>
    158 
    159     <para>Compile the package:</para>
    160 
    161 <screen><userinput remap="make">make</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 
    171101  <sect2 id="contents-openssl" role="content">
    172102    <title>Contents of OpenSSL</title>
  • chapter08/readline.xml

    r16cdca7b r2f67a2a  
    101101  </sect2>
    102102
    103   <!-- - - - - - - - - - -->
    104   <!-- Multilib - 32bit  -->
    105   <!-- - - - - - - - - - -->
    106  
    107   <sect2 arch="ml_32,ml_all" role="installation">
    108     <title>Installation of Readline - 32bit</title>
    109 
    110     <para>Clean previous build:</para>
    111 
    112 <screen><userinput remap="pre">make distclean</userinput></screen>
    113 
    114     <para>Prepare Readline for compilation:</para>
    115 
    116 <screen><userinput remap="configure">CC="gcc -m32" ./configure \
    117     --host=i686-pc-linux-gnu      \
    118     --prefix=/usr                 \
    119     --libdir=/usr/lib32           \
    120     --disable-static</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/lib32/* /usr/lib32
    130 rm -rf DESTDIR</userinput></screen>
    131 
    132   </sect2><!-- m32 -->
    133 
    134   <!-- - - - - - - - - - -->
    135   <!-- Multilib - x32bit -->
    136   <!-- - - - - - - - - - -->
    137  
    138   <sect2 arch="ml_x32,ml_all" role="installation">
    139     <title>Installation of Readline - x32bit</title>
    140 
    141     <para>Clean previous build:</para>
    142 
    143 <screen><userinput remap="pre">make distclean</userinput></screen>
    144 
    145     <para>Prepare Readline for compilation:</para>
    146 
    147 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \
    148     --host=x86_64-pc-linux-gnux32 \
    149     --prefix=/usr                 \
    150     --libdir=/usr/libx32          \
    151     --disable-static</userinput></screen>
    152 
    153     <para>Compile the package:</para>
    154 
    155 <screen><userinput remap="make">make</userinput></screen>
    156 
    157     <para>Install the package:</para>
    158 
    159 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    160 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    161 rm -rf DESTDIR</userinput></screen>
    162 
    163   </sect2><!-- mx32 -->
    164 
    165103  <sect2 id="contents-readline" role="content">
    166104    <title>Contents of Readline</title>
  • chapter08/revisedchroot.xml

    r16cdca7b r2f67a2a  
    4444  To remove them, run:</para>
    4545
    46 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput><userinput arch="ml_32,ml_all">
    47 find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32,ml_all">
    48 find /usr/libx32 -name \*.la -delete</userinput></screen>
     46<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
    4947
    5048   <para>For more information about libtool archive files, see the <ulink
  • chapter08/strippingagain.xml

    r16cdca7b r2f67a2a  
    4949
    5050cd /usr/lib
     51
    5152for LIB in $save_usrlib; do
    5253    objcopy --only-keep-debug $LIB $LIB.dbg
     
    5657    install -vm755 /tmp/$LIB /usr/lib
    5758    rm /tmp/$LIB
    58 done</userinput>
    59 <userinput arch="ml_32,ml_all">
    60 cd /usr/lib32
    61 for LIB in $save_usrlib; do
    62     objcopy --only-keep-debug $LIB $LIB.dbg
    63     cp $LIB /tmp/$LIB
    64     strip --strip-unneeded /tmp/$LIB
    65     objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
    66     install -vm755 /tmp/$LIB /usr/lib32
    67     rm /tmp/$LIB
    68 done</userinput>
    69 <userinput arch="ml_x32,ml_all">
    70 cd /usr/libx32
    71 for LIB in $save_usrlib; do
    72     objcopy --only-keep-debug $LIB $LIB.dbg
    73     cp $LIB /tmp/$LIB
    74     strip --strip-unneeded /tmp/$LIB
    75     objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
    76     install -vm755 /tmp/$LIB /usr/libx32
    77     rm /tmp/$LIB
    78 done</userinput><userinput>
     59done
    7960
    8061online_usrbin="bash find strip"
     
    9778    install -vm755 /tmp/$LIB /usr/lib
    9879    rm /tmp/$LIB
    99 done</userinput><userinput arch="ml_32,ml_all">
    100 for LIB in $online_usrlib; do
    101     cp /usr/lib32/$LIB /tmp/$LIB
    102     strip --strip-unneeded /tmp/$LIB
    103     install -vm755 /tmp/$LIB /usr/lib32
    104     rm /tmp/$LIB
    105 done</userinput><userinput arch="ml_x32,ml_all">
    106 for LIB in $online_usrlib; do
    107     cp /usr/libx32/$LIB /tmp/$LIB
    108     strip --strip-unneeded /tmp/$LIB
    109     install -vm755 /tmp/$LIB /usr/libx32
    110     rm /tmp/$LIB
    111 done</userinput><userinput>
     80done
    11281
    11382for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
     
    12089            ;;
    12190    esac
    122 done</userinput><userinput arch="ml_32,ml_all">
    123 for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg); do
    124     case "$online_usrlib $save_usrlib" in
    125         *$(basename $i)* ) ;;
    126         * ) strip --strip-unneeded $i ;;
    127     esac
    128 done</userinput><userinput arch="ml_x32,ml_all">
    129 for i in $(find /usr/libx32 -type f -name \*.so* ! -name \*dbg); do
    130     case "$online_usrlib $save_usrlib" in
    131         *$(basename $i)* ) ;;
    132         * ) strip --strip-unneeded $i ;;
    133     esac
    134 done</userinput><userinput>
     91done
    13592
    13693unset BIN LIB save_usrlib online_usrbin online_usrlib
  • chapter08/systemd.xml

    r16cdca7b r2f67a2a  
    219219
    220220  </sect2>
    221 
    222   <!-- - - - - - - - - - -->
    223   <!-- Multilib - 32bit  -->
    224   <!-- - - - - - - - - - -->
    225  
    226   <sect2 arch="ml_32,ml_all" role="installation">
    227     <title>Installation of systemd - 32-bit</title>
    228 
    229     <para>Clean previous build:</para>
    230 
    231 <screen><userinput remap="pre">rm -rf *</userinput></screen>
    232 
    233     <para>Create a symlink to work around missing xsltproc:</para>
    234 
    235 <!-- screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen -->
    236 <screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
    237 
    238 <!-- with cross-LFS we have util-linux in place:
    239     <para>Because we have not yet installed the final version of Util-Linux,
    240     create links to the libraries in the approprite location:</para>
    241 
    242 <screen><userinput remap="pre">for file in /tools/lib32/lib{blkid,mount,uuid}*; do
    243     ln -sf $file /usr/lib32/
    244 done</userinput></screen>
    245 -->
    246 
    247     <para>Prepare systemd for compilation:</para>
    248 
    249     <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
    250 CC="gcc -m32 -march=i686"              \
    251 CXX="g++ -m32 -march=i686"             \
    252 LANG=en_US.UTF-8                       \
    253 meson --prefix=/usr                    \
    254       --sysconfdir=/etc                \
    255       --localstatedir=/var             \
    256       -Dblkid=true                     \
    257       -Dbuildtype=release              \
    258       -Ddefault-dnssec=no              \
    259       -Dfirstboot=false                \
    260       -Dinstall-tests=false            \
    261       -Dkill-path=/bin/kill            \
    262       -Dkmod-path=/bin/kmod            \
    263       -Dldconfig=false                 \
    264       -Dmount-path=/bin/mount          \
    265       -Drootprefix=                    \
    266       -Drootlibdir=/usr/lib32          \
    267       -Dsplit-usr=true                 \
    268       -Dsulogin-path=/sbin/sulogin     \
    269       -Dsysusers=false                 \
    270       -Dumount-path=/bin/umount        \
    271       -Db_lto=false                    \
    272       ..</userinput></screen>
    273 
    274     <para>Compile the package:</para>
    275 
    276 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
    277 
    278     <para>Install the package:</para>
    279 
    280 <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
    281 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    282 rm -rf DESTDIR
    283 rm -f /usr/bin/xsltproc</userinput></screen>
    284 
    285   </sect2><!-- m32 -->
    286 
    287   <!-- - - - - - - - - - -->
    288   <!-- Multilib - x32bit -->
    289   <!-- - - - - - - - - - -->
    290  
    291   <sect2 arch="ml_x32,ml_all" role="installation">
    292     <title>Installation of systemd - x32-bit</title>
    293 
    294     <para>Clean previous build:</para>
    295 
    296 <screen><userinput remap="pre">rm -rf *</userinput></screen>
    297 
    298     <para>Create a symlink to work around missing xsltproc:</para>
    299 
    300 <screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
    301 
    302     <para>Fix an issue on x32:</para>
    303 
    304 <screen><userinput remap="pre">sed '/log_debug/s@PRI_TIMEX@PRIi64@' -i src/timesync/timesyncd-manager.c
    305 sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</userinput></screen>
    306 
    307     <para>Prepare systemd for compilation:</para>
    308 
    309 <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
    310 CC="gcc -mx32"                          \
    311 CXX="g++ -mx32"                         \
    312 CFLAGS+="-Wno-error=shift-overflow"     \
    313 CXXFLAGS+="-Wno-error=shift-overflow"   \
    314 LANG=en_US.UTF-8                        \
    315 meson --prefix=/usr                     \
    316       --sysconfdir=/etc                 \
    317       --localstatedir=/var              \
    318       -Dblkid=true                      \
    319       -Dbuildtype=release               \
    320       -Ddefault-dnssec=no               \
    321       -Dfirstboot=false                 \
    322       -Dinstall-tests=false             \
    323       -Dkill-path=/bin/kill             \
    324       -Dkmod-path=/bin/kmod             \
    325       -Dldconfig=false                  \
    326       -Dmount-path=/bin/mount           \
    327       -Drootprefix=                     \
    328       -Drootlibdir=/usr/libx32          \
    329       -Dsplit-usr=true                  \
    330       -Dsulogin-path=/sbin/sulogin      \
    331       -Dsysusers=false                  \
    332       -Dumount-path=/bin/umount         \
    333       -Db_lto=false                     \
    334       ..</userinput></screen>
    335 
    336     <para>Compile the package:</para>
    337 
    338 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
    339 
    340     <para>Install the package:</para>
    341 
    342 <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
    343 cp -Rv DESTDIR/usr/lib32/* /usr/lib32
    344 rm -rf DESTDIR
    345 rm -f /usr/bin/xsltproc</userinput></screen>
    346 
    347   </sect2><!-- mx32 -->
    348221
    349222  <sect2 id="contents-systemd" role="content">
  • chapter08/util-linux.xml

    r16cdca7b r2f67a2a  
    116116-->
    117117  </sect2>
    118 
    119   <!-- - - - - - - - - - -->
    120   <!-- Multilib - 32bit  -->
    121   <!-- - - - - - - - - - -->
    122  
    123   <sect2 arch="ml_32,ml_all" role="installation">
    124     <title>Installation of Util-linux - 32-bit</title>
    125 
    126     <para>Clean previous build:</para>
    127 
    128 <screen><userinput remap="pre">make distclean</userinput></screen>
    129 
    130     <para>Prepare Util-linux for compilation:</para>
    131 
    132 <screen revision="sysv"><userinput remap="configure">CC="gcc -m32" \
    133 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    134             --host=i686-pc-linux-gnu \
    135             --libdir=/usr/lib32      \
    136             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    137             --disable-chfn-chsh      \
    138             --disable-login          \
    139             --disable-nologin        \
    140             --disable-su             \
    141             --disable-setpriv        \
    142             --disable-runuser        \
    143             --disable-pylibmount     \
    144             --disable-static         \
    145             --without-python         \
    146             --without-systemd        \
    147             --without-systemdsystemunitdir \
    148             --enable-libmount-force-mountinfo</userinput></screen>
    149 
    150 <screen revision="systemd"><userinput remap="configure">CC="gcc -m32" \
    151 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    152             --host=i686-pc-linux-gnu \
    153             --libdir=/usr/lib32      \
    154             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    155             --disable-chfn-chsh      \
    156             --disable-login          \
    157             --disable-nologin        \
    158             --disable-su             \
    159             --disable-setpriv        \
    160             --disable-runuser        \
    161             --disable-pylibmount     \
    162             --disable-static         \
    163             --without-python         \
    164             --enable-libmount-force-mountinfo</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/lib32/* /usr/lib32
    174 rm -rf DESTDIR</userinput></screen>
    175 
    176   </sect2><!-- m32 -->
    177 
    178   <!-- - - - - - - - - - -->
    179   <!-- Multilib - x32bit -->
    180   <!-- - - - - - - - - - -->
    181  
    182   <sect2 arch="ml_x32,ml_all" role="installation">
    183     <title>Installation of Util-linux - x32-bit</title>
    184 
    185     <para>Clean previous build:</para>
    186 
    187 <screen><userinput remap="pre">make distclean</userinput></screen>
    188 
    189     <para>Prepare Util-linux for compilation:</para>
    190 
    191 <screen revision="sysv"><userinput remap="configure">CC="gcc -mx32" \
    192 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    193             --host=x86_64-pc-linux-gnux32 \
    194             --libdir=/usr/libx32 \
    195             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    196             --disable-chfn-chsh  \
    197             --disable-login      \
    198             --disable-nologin    \
    199             --disable-su         \
    200             --disable-setpriv    \
    201             --disable-runuser    \
    202             --disable-pylibmount \
    203             --disable-static     \
    204             --without-python     \
    205             --without-systemd    \
    206             --without-systemdsystemunitdir \
    207             --enable-libmount-force-mountinfo</userinput></screen>
    208 
    209 <screen revision="systemd"><userinput remap="configure">CC="gcc -mx32" \
    210 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
    211             --host=x86_64-pc-linux-gnux32 \
    212             --libdir=/usr/libx32 \
    213             --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    214             --disable-chfn-chsh  \
    215             --disable-login      \
    216             --disable-nologin    \
    217             --disable-su         \
    218             --disable-setpriv    \
    219             --disable-runuser    \
    220             --disable-pylibmount \
    221             --disable-static     \
    222             --without-python     \
    223             --enable-libmount-force-mountinfo</userinput></screen>
    224 
    225     <para>Compile the package:</para>
    226 
    227 <screen><userinput remap="make">make</userinput></screen>
    228 
    229     <para>Install the package:</para>
    230 
    231 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
    232 cp -Rv DESTDIR/usr/libx32/* /usr/libx32
    233 rm -rf DESTDIR</userinput></screen>
    234 
    235   </sect2><!-- mx32 -->
    236118
    237119  <sect2 id="contents-utillinux" role="content">
  • chapter08/xz.xml

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

    r16cdca7b r2f67a2a  
    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">CC="gcc -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">CC="gcc -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

    r16cdca7b r2f67a2a  
    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</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</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

    r16cdca7b r2f67a2a  
    156156    </note>
    157157
    158     <note arch="ml_32,ml_x32,ml_all">
    159       <para>
    160         The kernel on a multilib system needs to be able to
    161         identify and start binaries compiled for different architectures
    162         than the default.
    163       </para>
    164 
    165       <para arch="ml_32,ml_all">
    166         If support for any 32bit ABI was built, make sure that the option
    167         "IA32 Emulation" is selected. The option 'IA32 a.out support' is
    168         optional.
    169       </para>
    170 
    171       <para arch="ml_x32,ml_all">
    172         If support for the x32bit ABI was built, make sure that the option
    173         "x32 ABI for 64-bit mode" is selected.
    174       </para>
    175 
    176 <screen arch="ml_32">Binary Emulations  ---&gt;
    177     [*] IA32 Emulation
    178     &lt;M&gt;   IA32 a.out support
    179 </screen>
    180 <screen arch="ml_x32">Binary Emulations  ---&gt;
    181     [*] x32 ABI for 64-bit mode
    182 </screen>
    183 <screen arch="ml_all">Binary Emulations  ---&gt;
    184     [*] IA32 Emulation
    185     &lt;M&gt;   IA32 a.out support
    186     [*] x32 ABI for 64-bit mode
    187 </screen>
    188 
    189     </note>
    190    
    191158    <variablelist>
    192159      <title>The rationale for the above configuration items:</title>
  • packages.ent

    r16cdca7b r2f67a2a  
    355355<!ENTITY iproute2-fin-sbu "0.2 SBU">
    356356
    357 <!ENTITY isl-version "0.22.1">
    358 <!ENTITY isl-size "1.6 MB">
    359 <!ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz">
    360 <!ENTITY isl-md5 "6e124849a9b62e3e2d5d51e955323f6e">
    361 <!ENTITY isl-home "http://isl.gforge.inria.fr/">
    362 <!ENTITY isl-fin-du "20 MB">
    363 <!ENTITY isl-fin-sbu "0.1 SBU">
    364 
    365357<!ENTITY jinja2-version "3.0.1">
    366358<!ENTITY jinja2-size "264 KB">
  • prologue/bookinfo.xml

    r16cdca7b r2f67a2a  
    88<bookinfo>
    99  <title>Linux From Scratch</title>
    10   <subtitle arch="default" revision='sysv'>Version &version;</subtitle>
    11   <subtitle arch="default" revision='systemd'>Version &versiond;</subtitle>
    12   <subtitle arch="ml_32,ml_x32,ml_all" revision='sysv'>Version &version;-multilib</subtitle>
    13   <subtitle arch="ml_32,ml_x32,ml_all" revision='systemd'>Version &versiond;-multilib</subtitle>
     10  <subtitle revision='sysv'   >Version &version; </subtitle>
     11  <subtitle revision='systemd'>Version &versiond;</subtitle>
    1412  <subtitle>Published &releasedate;</subtitle>
    1513
     
    3230      <firstname>Editor: DJ</firstname>
    3331      <surname>Lucas</surname>
    34     </author>
    35 
    36     <author arch="ml_32,ml_x32,ml_all">
    37       <firstname>Editor: Thomas</firstname>
    38       <surname>Trepl</surname>
    3932    </author>
    4033  </authorgroup>
  • prologue/preface.xml

    r16cdca7b r2f67a2a  
    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.