Changeset 8eb3fe4 for chapter06


Ignore:
Timestamp:
04/01/2019 05:00:45 PM (5 years ago)
Author:
Thomas Trepl <thomas@…>
Branches:
multilib-10.1
Children:
7d9f881
Parents:
1fa2099
Message:

First apply of multilib-patch of April 1st, 2019

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11566 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
chapter06
Files:
3 added
26 edited

Legend:

Unmodified
Added
Removed
  • chapter06/acl.xml

    r1fa2099 r8eb3fe4  
    8080  </sect2>
    8181
     82  <sect2 arch="multilib" role="installation">
     83    <title>Installation of Acl - 32-bit</title>
     84
     85    <para>Clean previous build:</para>
     86
     87<screen><userinput remap="pre">make distclean</userinput></screen>
     88
     89    <para>Prepare Acl for compilation:</para>
     90
     91<screen><userinput remap="configure">CC="gcc -m32" ./configure              \
     92    --prefix=/usr --libdir=/usr/lib32  \
     93    --disable-static --libexecdir=/usr/lib32 \
     94    --host=i686-pc-linux-gnu</userinput></screen>
     95
     96    <para>Compile the package:</para>
     97
     98<screen><userinput remap="make">make</userinput></screen>
     99
     100    <para>Install the package:</para>
     101
     102<screen><userinput remap="install">make DESTDIR=$(pwd)/DESTDIR install
     103cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     104rm -rf DESTDIR</userinput></screen>
     105
     106  </sect2>
     107
     108  <sect2 arch="multilib" role="installation">
     109    <title>Installation of Acl - x32-bit</title>
     110
     111    <para>Clean previous build:</para>
     112
     113<screen><userinput remap="pre">make distclean</userinput></screen>
     114
     115    <para>Prepare Acl for compilation:</para>
     116
     117<screen><userinput remap="configure">CC="gcc -mx32" ./configure                    \
     118    --prefix=/usr --libdir=/usr/libx32        \
     119    --disable-static --libexecdir=/usr/libx32 \
     120    --host=x86_64-pc-linux-gnux32</userinput></screen>
     121
     122    <para>Compile the package:</para>
     123
     124<screen><userinput remap="make">make</userinput></screen>
     125
     126    <para>Install the package:</para>
     127
     128<screen><userinput remap="install">make DESTDIR=$(pwd)/DESTDIR install
     129cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     130rm -rf DESTDIR</userinput></screen>
     131
     132  </sect2>
     133
    82134  <sect2 id="contents-acl" role="content">
    83135    <title>Contents of Acl</title>
  • chapter06/attr.xml

    r1fa2099 r8eb3fe4  
    7979  </sect2>
    8080
     81  <sect2 arch="multilib" role="installation">
     82    <title>Installation of Attr - 32-bit</title>
     83
     84    <para>Clean previous build:</para>
     85
     86<screen><userinput remap="pre">make distclean</userinput></screen>
     87
     88    <para>Prepare Attr for compilation:</para>
     89
     90<screen><userinput remap="configure">CC="gcc -m32" ./configure \
     91    --prefix=/usr         \
     92    --disable-static      \
     93    --libdir=/usr/lib32   \
     94    --host=i686-pc-linux-gnu</userinput></screen>
     95
     96    <para>Compile the package:</para>
     97
     98<screen><userinput remap="make">make</userinput></screen>
     99
     100    <para>Install the package:</para>
     101
     102<screen><userinput remap="install">make DESTDIR=$(pwd)/DESTDIR install
     103cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     104rm -rf DESTDIR</userinput></screen>
     105
     106  </sect2>
     107
     108  <sect2 arch="multilib" role="installation">
     109    <title>Installation of Attr - x32-bit</title>
     110
     111    <para>Clean previous build:</para>
     112
     113<screen><userinput remap="pre">make distclean</userinput></screen>
     114
     115    <para>Prepare Attr for compilation:</para>
     116
     117<screen><userinput remap="configure">
     118CC="gcc -mx32" ./configure \
     119    --prefix=/usr          \
     120    --disable-static       \
     121    --libdir=/usr/libx32   \
     122    --host=x86_64-pc-linux-gnux32</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
     131cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     132rm -rf DESTDIR</userinput></screen>
     133
     134  </sect2>
     135
    81136  <sect2 id="contents-attr" role="content">
    82137    <title>Contents of Attr</title>
  • chapter06/bzip2.xml

    r1fa2099 r8eb3fe4  
    9595ln -sv bzip2 /bin/bunzip2
    9696ln -sv bzip2 /bin/bzcat</userinput></screen>
     97
     98  </sect2>
     99
     100  <sect2 arch="multilib" role="installation">
     101    <title>Installation of Bzip2 - 32-bit</title>
     102
     103    <para>Clean previous build:</para>
     104
     105<screen><userinput remap="pre">make clean</userinput></screen>
     106
     107    <para>Compile the package:</para>
     108
     109<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -m32/" \
     110    -i Makefile{,-libbz2_so}
     111make -f Makefile-libbz2_so
     112make libbz2.a</userinput></screen>
     113
     114    <para>Install the package:</para>
     115
     116<screen><userinput remap="install">install -Dm755 libbz2.so.1.0.6 /usr/lib32/libbz2.so.1.0.6
     117ln -sf libbz2.so.1.0.6 /usr/lib32/libbz2.so
     118ln -sf libbz2.so.1.0.6 /usr/lib32/libbz2.so.1
     119ln -sf libbz2.so.1.0.6 /usr/lib32/libbz2.so.1.0
     120install -Dm644 libbz2.a /usr/lib32/libbz2.a</userinput></screen>
     121
     122  </sect2>
     123
     124  <sect2 arch="multilib" role="installation">
     125    <title>Installation of Bzip2 - x32-bit</title>
     126
     127    <para>Clean previous build:</para>
     128
     129<screen><userinput remap="pre">make clean</userinput></screen>
     130
     131    <para>Compile the package:</para>
     132
     133<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -mx32/" \
     134    -i Makefile{,-libbz2_so}
     135make -f Makefile-libbz2_so
     136make libbz2.a</userinput></screen>
     137
     138    <para>Install the package:</para>
     139
     140<screen><userinput remap="install">install -Dm755 libbz2.so.1.0.6 /usr/libx32/libbz2.so.1.0.6
     141ln -sf libbz2.so.1.0.6 /usr/libx32/libbz2.so
     142ln -sf libbz2.so.1.0.6 /usr/libx32/libbz2.so.1
     143ln -sf libbz2.so.1.0.6 /usr/libx32/libbz2.so.1.0
     144install -Dm644 libbz2.a /usr/libx32/libbz2.a</userinput></screen>
    97145
    98146  </sect2>
  • chapter06/chapter06.xml

    r1fa2099 r8eb3fe4  
    2222  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
    2323  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="adjusting.xml"/>
     24
     25  <!-- arch="multilib" only -->
     26  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc-32.xml"/>
     27
    2428  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/>
    2529  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
     
    3135  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
    3236  <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"/>
    3338  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
    3439  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
     
    8388  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/>
    8489  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="vim.xml"/>
    85 
    8690  <!-- systemd only -->
    8791  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="systemd.xml"/>
    8892  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dbus.xml"/>
    8993
    90   <!-- these packages libsystemd on systemd builds -->
     94  <!-- these programs will use libsystemd if available -->
    9195  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
    9296  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
     
    98102  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="eudev.xml"/>
    99103
     104  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="linux-firmware.xml"/>
    100105  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutdebug.xml"/>
    101106  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="strippingagain.xml"/>
  • chapter06/createfiles.xml

    r1fa2099 r8eb3fe4  
    4040  software has been installed:</para>
    4141
    42 <screen><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
     42<screen arch="default"><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
    4343ln -sv /tools/bin/{env,install,perl,printf}         /usr/bin
    4444ln -sv /tools/lib/libgcc_s.so{,.1}                  /usr/lib
     
    4646
    4747install -vdm755 /usr/lib/pkgconfig
     48
     49ln -sv bash /bin/sh</userinput></screen>
     50<screen arch="multilib"><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
     51ln -sv /tools/bin/{env,install,perl,printf}         /usr/bin
     52for lib in lib{,32,x32}; do
     53  ln -sv /tools/$lib/libgcc_s.so{,.1}               /usr/$lib
     54  ln -sv /tools/$lib/libstdc++.{a,so{,.6}}          /usr/$lib
     55done
     56ln -sv /usr/libx32 /
     57
     58install -vdm755 /usr/lib{,32,x32}/pkgconfig
    4859
    4960ln -sv bash /bin/sh</userinput></screen>
  • chapter06/creatingdirs.xml

    r1fa2099 r8eb3fe4  
    1414  standard directory tree by issuing the following commands:</para>
    1515
    16 <screen><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
     16<screen arch="default"><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
    1717mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
    1818install -dv -m 0750 /root
     
    3232ln -sv /run/lock /var/lock
    3333mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput></screen>
     34<screen arch="multilib"><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig,ld.so.conf.d},home,lib/firmware,mnt,opt}
     35mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
     36install -dv -m 0750 /root
     37install -dv -m 1777 /tmp /var/tmp
     38mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
     39mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
     40mkdir -v  /usr/{,local/}share/{misc,terminfo,zoneinfo}
     41mkdir -v  /usr/libexec
     42mkdir -pv /usr/{,local/}share/man/man{1..8}
     43mkdir -v /lib64
     44mkdir -v /var/{log,mail,spool}
     45ln -sv /run /var/run
     46ln -sv /run/lock /var/lock
     47mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}
     48mkdir -pv /usr/lib{,x}32</userinput></screen>
    3449
    3550  <para>Directories are, by default, created with permission mode 755, but
  • chapter06/eudev.xml

    r1fa2099 r8eb3fe4  
    105105  </sect2>
    106106
     107  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ -->
     108 
     109  <sect2 arch="multilib" role="installation">
     110    <title>Installation of Eudev - 32-bit</title>
     111
     112    <para>Clean previous build:</para>
     113
     114<screen><userinput remap="pre">make distclean</userinput></screen>
     115
     116    <para>Prepare Eudev for compilation:</para>
     117
     118<screen><userinput remap="configure">CC="gcc -m32" \
     119./configure --host=i686-pc-linux-gnu     \
     120            --prefix=/usr                \
     121            --bindir=/sbin               \
     122            --sbindir=/sbin              \
     123            --libdir=/usr/lib32          \
     124            --sysconfdir=/etc            \
     125            --libexecdir=/lib32          \
     126            --with-rootprefix=           \
     127            --with-rootlibdir=/usr/lib32 \
     128            --disable-manpages           \
     129            --disable-static             \
     130            --config-cache</userinput></screen>
     131
     132    <para>Compile the package:</para>
     133
     134<screen><userinput remap="make">make</userinput></screen>
     135
     136    <para>Install the package:</para>
     137
     138<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     139cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     140rm -rf DESTDIR</userinput></screen>
     141
     142  </sect2>
     143 
     144  <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ -->
     145 
     146  <sect2 arch="multilib" role="installation">
     147    <title>Installation of Eudev - x32-bit</title>
     148
     149    <para>Clean previous build:</para>
     150
     151<screen><userinput remap="pre">make distclean</userinput></screen>
     152
     153    <para>Prepare Eudev for compilation:</para>
     154
     155<screen><userinput remap="configure">CC="gcc -mx32" \
     156./configure --prefix=/usr                 \
     157            --bindir=/sbin                \
     158            --sbindir=/sbin               \
     159            --libdir=/usr/libx32          \
     160            --sysconfdir=/etc             \
     161            --libexecdir=/libx32          \
     162            --with-rootprefix=            \
     163            --with-rootlibdir=/usr/libx32 \
     164            --disable-manpages            \
     165            --disable-static              \
     166            --config-cache</userinput></screen>
     167
     168    <para>Compile the package:</para>
     169
     170<screen><userinput remap="make">make</userinput></screen>
     171
     172    <para>Install the package:</para>
     173
     174<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     175cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     176rm -rf DESTDIR</userinput></screen>
     177
     178  </sect2>
     179 
    107180  <sect2 id="conf-eudev" role="configuration">
    108181    <title>Configuring Eudev</title>
  • chapter06/expat.xml

    r1fa2099 r8eb3fe4  
    7070  </sect2>
    7171
     72  <sect2 arch="multilib" role="installation">
     73    <title>Installation of Expat - 32-bit</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
     79make 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
     95cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     96rm -rf DESTDIR</userinput></screen>
     97
     98  </sect2>
     99
     100  <sect2 arch="multilib" role="installation">
     101    <title>Installation of Zlib - x32-bit</title>
     102
     103    <para>Clean previous build:</para>
     104
     105<screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile
     106make clean</userinput></screen>
     107
     108    <para>Prepare Expat for compilation:</para>
     109
     110<screen><userinput remap="configure">
     111CC="gcc -mx32" ./configure \
     112    --prefix=/usr          \
     113    --libdir=/usr/libx32   \
     114    --host=x86_64-pc-linux-gnux32</userinput></screen>
     115
     116    <para>Compile the package:</para>
     117
     118<screen><userinput remap="make">make</userinput></screen>
     119
     120    <para>Install the package:</para>
     121
     122<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     123cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     124rm -rf DESTDIR</userinput></screen>
     125
     126  </sect2>
     127
    72128  <sect2 id="contents-expat" role="content">
    73129    <title>Contents of Expat</title>
  • chapter06/file.xml

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

    r1fa2099 r8eb3fe4  
    4242    <title>Installation of GCC</title>
    4343
    44     <para>If building on x86_64, change the default directory name for 64-bit
    45     libraries to <quote>lib</quote>:</para>
    46 
    47 <screen><userinput remap="pre">case $(uname -m) in
     44    <para arch="default">If building on x86_64, change the default directory
     45    name for 64-bit libraries to <quote>lib</quote>:</para>
     46
     47<screen arch="default"><userinput remap="pre">case $(uname -m) in
    4848  x86_64)
    4949    sed -e '/m64=/s/lib64/lib/' \
     
    5252esac</userinput></screen>
    5353
     54    <para arch="multilib">Change the default directory name for 64-bit
     55    libraries to <quote>lib</quote>:</para>
     56
     57<screen arch="multilib"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \
     58    -i.orig gcc/config/i386/t-linux64
     59cat &gt; gcc/config/i386/t-linux64 &lt;&lt;"EOF"
     60comma=,
     61MULTILIB_OPTIONS    = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
     62MULTILIB_DIRNAMES   = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
     63MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
     64MULTILIB_OSDIRNAMES+= m32=../lib32$(call if_multiarch,:i386-linux-gnu)
     65MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
     66EOF</userinput></screen>
     67
    5468    <para>Remove the symlink created earlier as the final gcc includes will be
    5569    installed here:</para>
     
    5771<screen><userinput remap="pre">rm -f /usr/lib/gcc</userinput></screen>
    5872
     73    <!-- Following patch might be obsolete with gcc >= 8.2.1 -->
     74    <para>Fix an issue with isl-&isl-version;:</para>
     75
     76<screen><userinput remap="pre">sed -e "/#include &lt;isl\/schedule_node.h&gt;/ a#include &lt;isl/id.h&gt;\n#include &lt;isl/space.h&gt;" \
     77    -i gcc/graphite.h</userinput></screen>
     78
    5979    <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
    6080
     
    6484    <para>Prepare GCC for compilation:</para>
    6585
    66 <screen><userinput remap="configure">SED=sed                               \
     86<screen arch="default"><userinput remap="configure">SED=sed                               \
    6787../configure --prefix=/usr            \
    6888             --enable-languages=c,c++ \
     
    7090             --disable-bootstrap      \
    7191             --disable-libmpx         \
     92             --with-system-zlib</userinput></screen>
     93
     94<screen arch="multilib"><userinput remap="configure">SED=sed                               \
     95../configure --prefix=/usr                     \
     96             --enable-languages=c,c++          \
     97             --enable-multilib                 \
     98             --with-multilib-list=m32,m64,mx32 \
     99             --disable-bootstrap               \
    72100             --with-system-zlib</userinput></screen>
    73101
     
    266294SEARCH_DIR("/usr/lib");</computeroutput></screen>
    267295
    268    <para>A 32-bit system may see a few different directories. For example, here
    269    is the output from an i686 machine:</para>
    270 
    271 <screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
     296   <para arch="default">A 32-bit system may see a few different directories.
     297   For example, here is the output from an i686 machine:</para>
     298
     299<screen arch="default"><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
    272300SEARCH_DIR("/usr/local/lib32")
    273301SEARCH_DIR("/lib32")
     
    325353
    326354<screen><userinput remap="install">mkdir -pv /usr/share/gdb/auto-load/usr/lib
    327 mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
     355mv -v /usr/lib/libstdc++*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>
    328356
    329357  </sect2>
  • chapter06/glibc.xml

    r1fa2099 r8eb3fe4  
    9797             --enable-kernel=&min-kernel;                    \
    9898             --enable-stack-protector=strong        \
     99             --with-headers=/usr/include            \
    99100             libc_cv_slibdir=/lib</userinput></screen>
    100101
  • chapter06/gmp.xml

    r1fa2099 r8eb3fe4  
    121121  </sect2>
    122122
     123  <!-- ~~~~~ m32 ~~~~~ -->
     124  <sect2 arch="multilib" role="installation">
     125    <title>Installation of GMP - 32-bit</title>
     126
     127    <para>Clean previous build:</para>
     128
     129<screen><userinput remap="pre">make distclean</userinput></screen>
     130
     131    <para>Generic libraries can be created by running
     132    the following:</para>
     133
     134<screen><userinput>cp -v configfsf.guess config.guess
     135cp -v configfsf.sub   config.sub</userinput></screen>
     136
     137    <para>Prepare GMP for compilation:</para>
     138
     139<screen><userinput remap="configure">ABI="32" \
     140CC="gcc -m32"  \
     141CXX="g++ -m32" \
     142./configure             \
     143    --prefix=/usr       \
     144    --disable-static    \
     145    --enable-cxx        \
     146    --libdir=/usr/lib32 \
     147    --host=i686-pc-linux-gnu</userinput></screen>
     148
     149    <para>Compile the package:</para>
     150
     151<screen><userinput remap="make">make</userinput></screen>
     152
     153    <important>
     154      <para>The test suite for GMP in this section is considered critical.
     155      Do not skip it under any circumstances.</para>
     156    </important>
     157
     158    <para>Test the results:</para>
     159
     160<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
     161 
     162    <para>Ensure that all 190 tests in the test suite passed.
     163    Check the results by issuing the following command:</para>
     164
     165<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
     166
     167    <para>Install the package:</para>
     168
     169<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     170cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     171rm -rf DESTDIR</userinput></screen>
     172
     173  </sect2>
     174 
     175  <!-- ~~~~~ m32 ~~~~~ -->
     176  <sect2 arch="multilib" role="installation">
     177    <title>Installation of GMP - x32-bit</title>
     178
     179    <para>Clean previous build:</para>
     180
     181<screen><userinput remap="pre">make distclean</userinput></screen>
     182
     183    <para>Generic libraries can be created by running
     184    the following:</para>
     185
     186<screen><userinput>cp -v configfsf.guess config.guess
     187cp -v configfsf.sub   config.sub</userinput></screen>
     188
     189    <para>Prepare GMP for compilation:</para>
     190
     191<screen><userinput remap="configure">ABI="x32" \
     192CC="gcc -mx32"  \
     193CXX="g++ -mx32" \
     194./configure              \
     195    --prefix=/usr        \
     196    --disable-static     \
     197    --enable-cxx         \
     198    --libdir=/usr/libx32 \
     199    --host=x86_64-pc-linux-gnux32</userinput></screen>
     200
     201    <para>Compile the package:</para>
     202
     203<screen><userinput remap="make">make</userinput></screen>
     204
     205    <important>
     206      <para>The test suite for GMP in this section is considered critical.
     207      Do not skip it under any circumstances.</para>
     208    </important>
     209
     210    <para>Test the results:</para>
     211
     212<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
     213 
     214    <para>Ensure that all 190 tests in the test suite passed.
     215    Check the results by issuing the following command:</para>
     216
     217<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
     218
     219    <para>Install the package:</para>
     220
     221<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     222cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     223rm -rf DESTDIR</userinput></screen>
     224
     225  </sect2>
     226 
    123227  <sect2 id="contents-gmp" role="content">
    124228    <title>Contents of GMP</title>
  • chapter06/kmod.xml

    r1fa2099 r8eb3fe4  
    9595
    9696ln -sfv kmod /bin/lsmod</userinput></screen>
     97
     98  </sect2>
     99
     100  <sect2 arch="multilib" role="installation">
     101    <title>Installation of Kmod - 32-bit</title>
     102
     103    <para>Clean previous build but keep man pages as they cannot be recreated
     104    since xsltproc isn't installed yet:</para>
     105
     106<screen><userinput>sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
     107make clean</userinput></screen>
     108
     109    <para>Prepare Kmod for compilation:</para>
     110
     111<screen><userinput remap="configure">CC="gcc -m32" ./configure    \
     112    --prefix=/usr            \
     113    --bindir=/bin            \
     114    --libdir=/usr/lib32      \
     115    --sysconfdir=/etc        \
     116    --with-xz --with-zlib    \
     117    --host=i686-pc-linux-gnu \
     118    --with-rootlibdir=/usr/lib32</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
     127cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     128rm -rf DESTDIR</userinput></screen>
     129
     130  </sect2>
     131
     132<sect2 arch="multilib" role="installation">
     133    <title>Installation of Kmod - x32-bit</title>
     134
     135    <para>Clean previous build:</para>
     136
     137<screen><userinput>sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile
     138make clean</userinput></screen>
     139
     140    <para>Prepare Kmod for compilation:</para>
     141
     142<screen><userinput remap="configure">CC="gcc -mx32" ./configure        \
     143    --prefix=/usr                 \
     144    --bindir=/bin                 \
     145    --libdir=/usr/libx32          \
     146    --sysconfdir=/etc             \
     147    --with-xz                     \
     148    --with-zlib                   \
     149    --host=x86_64-pc-linux-gnux32 \
     150    --with-rootlibdir=/usr/libx32</userinput></screen>
     151
     152    <para>Compile the package:</para>
     153
     154<screen><userinput remap="make">make</userinput></screen>
     155
     156    <para>Install the package:</para>
     157
     158<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     159cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     160rm -rf DESTDIR</userinput></screen>
    97161
    98162  </sect2>
  • chapter06/libcap.xml

    r1fa2099 r8eb3fe4  
    9393  </sect2>
    9494
     95  <sect2 arch="multilib" role="installation">
     96    <title>Installation of Libcap - 32-bit</title>
     97
     98    <para>Clean previous build:</para>
     99
     100<screen><userinput remap="pre">make distclean</userinput></screen>
     101
     102    <para>Compile the package:</para>
     103
     104<screen><userinput remap="make">make CC="gcc -m32 -march=i686"</userinput></screen>
     105
     106    <para>Install the package:</para>
     107
     108<screen><userinput remap="install">make lib=lib32 prefix=$PWD/DESTDIR/usr -C libcap install
     109cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     110rm -rf DESTDIR</userinput></screen>
     111
     112  </sect2>
     113
     114  <sect2 arch="multilib" role="installation">
     115    <title>Installation of Libcap - x32-bit</title>
     116
     117    <para>Clean previous build:</para>
     118
     119<screen><userinput remap="pre">make distclean</userinput></screen>
     120
     121    <para>Compile the package:</para>
     122
     123<screen><userinput remap="make">make CC="gcc -mx32"</userinput></screen>
     124
     125    <para>Install the package:</para>
     126
     127<screen><userinput remap="install">make lib=libx32 prefix=$PWD/DESTDIR/usr -C libcap install
     128cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     129rm -rf DESTDIR</userinput></screen>
     130
     131  </sect2>
     132
    95133  <sect2 id="contents-libcap" role="content">
    96134    <title>Contents of Libcap</title>
  • chapter06/libelf.xml

    r1fa2099 r8eb3fe4  
    6464  </sect2>
    6565
     66  <sect2 arch="multilib" role="installation">
     67    <title>Installation of Libelf - 32-bit</title>
     68
     69    <para>Clean previous build:</para>
     70
     71<screen><userinput remap="pre">make distclean</userinput></screen>
     72
     73    <para>Prepare Libelf 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 -C libelf install
     87install -vDm644 config/libelf.pc DESTDIR/usr/lib32/pkgconfig/libelf.pc
     88cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     89rm -rf DESTDIR</userinput></screen>
     90
     91  </sect2>
     92
     93  <sect2 arch="multilib" role="installation">
     94    <title>Installation of Libelf - x32-bit</title>
     95
     96    <para>Clean previous build:</para>
     97
     98<screen><userinput remap="pre">make distclean</userinput></screen>
     99
     100    <para>Prepare Libelf for compilation:</para>
     101
     102<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
     103    --prefix=/usr          \
     104    --libdir=/usr/libx32   \
     105    --host=x86_64-pc-linux-gnux32</userinput></screen>
     106
     107    <para>Compile the package:</para>
     108
     109<screen><userinput remap="make">make</userinput></screen>
     110
     111    <para>Install the package:</para>
     112
     113<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR -C libelf install
     114install -vDm644 config/libelf.pc DESTDIR/usr/libx32/pkgconfig/libelf.pc
     115cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     116rm -rf DESTDIR</userinput></screen>
     117
     118  </sect2>
     119
    66120  <sect2 id="contents-elfutils" role="content">
    67121    <title>Contents of Libelf</title>
  • chapter06/libffi.xml

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

    r1fa2099 r8eb3fe4  
    7272
    7373
     74  <sect2 arch="multilib" role="installation">
     75    <title>Installation of Libtool - 32-bit</title>
     76
     77    <para>Clean previous build:</para>
     78
     79<screen><userinput remap="pre">make distclean</userinput></screen>
     80
     81    <para>Prepare Libtool 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
     95cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     96rm -rf DESTDIR</userinput></screen>
     97
     98  </sect2>
     99
     100  <sect2 arch="multilib" role="installation">
     101    <title>Installation of Libtool - x32-bit</title>
     102
     103    <para>Clean previous build:</para>
     104
     105<screen><userinput remap="pre">make distclean</userinput></screen>
     106
     107    <para>Prepare Libtool for compilation:</para>
     108
     109<screen><userinput remap="configure">
     110CC="gcc -mx32" ./configure \
     111    --prefix=/usr          \
     112    --libdir=/usr/libx32   \
     113    --host=x86_64-pc-linux-gnux32</userinput></screen>
     114
     115    <para>Compile the package:</para>
     116
     117<screen><userinput remap="make">make</userinput></screen>
     118
     119    <para>Install the package:</para>
     120
     121<screen><userinput remap="install">make DESTDIR=$(pwd)/DESTDIR install
     122cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     123rm -rf DESTDIR</userinput></screen>
     124
     125  </sect2>
     126
     127
    74128  <sect2 id="contents-libtool" role="content">
    75129    <title>Contents of Libtool</title>
  • chapter06/ncurses.xml

    r1fa2099 r8eb3fe4  
    4848    <para>Prepare Ncurses for compilation:</para>
    4949
    50 <screen><userinput remap="configure">./configure --prefix=/usr           \
     50<screen arch="default"><userinput remap="configure">./configure --prefix=/usr           \
    5151            --mandir=/usr/share/man \
    5252            --with-shared           \
     
    5555            --enable-pc-files       \
    5656            --enable-widec</userinput></screen>
     57<screen arch="multilib"><userinput remap="configure">./configure --prefix=/usr           \
     58            --mandir=/usr/share/man \
     59            --with-shared           \
     60            --without-debug         \
     61            --without-normal        \
     62            --enable-pc-files       \
     63            --enable-widec          \
     64            --with-pkg-config-libdir=/usr/lib/pkgconfig</userinput></screen>
    5765
    5866    <variablelist>
     
    8997      </varlistentry>
    9098
     99      <varlistentry arch="multilib">
     100        <term><parameter>--with-pkg-config-libdir=/usr/lib/pkgconfig</parameter></term>
     101        <listitem>
     102          <para>This switch forces .pc to be installed in /usr/lib/pkgconfig. If
     103           not set, .pc files gets installed in /usr/lib32 even for 64bit binaries.
     104          </para>
     105        </listitem>
     106      </varlistentry>
     107
    91108    </variablelist>
    92109
     
    140157
    141158    <note>
    142 
    143159      <para>The instructions above don't create non-wide-character Ncurses
    144160      libraries since no package installed by compiling from sources would link
     
    149165      following commands:</para>
    150166
    151 <screen role="nodump"><userinput>make distclean
     167<screen><userinput remap="install">make distclean
    152168./configure --prefix=/usr    \
    153169            --with-shared    \
     
    158174make sources libs
    159175cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
     176
    160177    </note>
    161178
     179  </sect2>
     180
     181  <sect2 arch="multilib" role="installation">
     182    <title>Installation of Ncurses - 32-bit</title>
     183
     184    <para>Clean previous build:</para>
     185
     186<screen><userinput remap="pre">make distclean</userinput></screen>
     187
     188        <para>Prepare Ncurses for compilation:</para>
     189
     190<screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32"  \
     191    ./configure --prefix=/usr \
     192    --libdir=/usr/lib32       \
     193    --mandir=/usr/share/man   \
     194    --with-shared             \
     195    --without-debug           \
     196    --without-normal          \
     197    --enable-pc-files         \
     198    --enable-widec            \
     199    --host=i686-pc-linux-gnu  \
     200    --with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>
     201
     202    <para>Compile the package:</para>
     203
     204<screen><userinput remap="make">make -j1</userinput></screen>
     205
     206    <para>Install the package:</para>
     207
     208<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     209for lib in ncurses form panel menu ; do
     210    rm -vf                    DESTDIR/usr/lib32/lib${lib}.so
     211    echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so
     212    ln -svf ${lib}w.pc        DESTDIR/usr/lib32/pkgconfig/$lib.pc
     213done
     214rm -vf                     DESTDIR/usr/lib32/libcursesw.so
     215echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so
     216ln -sfv libncurses.so      DESTDIR/usr/lib32/libcurses.so
     217cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     218rm -rf DESTDIR</userinput></screen>
     219
     220    <para>If desired, make the version 5 libraries in 32bit as well:</para>
     221
     222<screen><userinput remap="install">make distclean
     223CC="gcc -m32" CXX="g++ -m32"  \
     224    ./configure --prefix=/usr \
     225    --with-shared             \
     226    --without-normal          \
     227    --without-debug           \
     228    --without-cxx-binding     \
     229    --with-abi-version=5      \
     230    --host=i686-pc-linux-gnu
     231make -j1 sources libs
     232cp -av lib/lib*.so.5* /usr/lib32</userinput></screen>
     233
     234  </sect2>
     235
     236  <sect2 arch="multilib" role="installation">
     237    <title>Installation of Ncurses - x32-bit</title>
     238
     239    <para>Clean previous build:</para>
     240
     241<screen><userinput remap="pre">make distclean</userinput></screen>
     242
     243        <para>Prepare Ncurses for compilation:</para>
     244
     245<screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32"    \
     246    ./configure --prefix=/usr     \
     247    --libdir=/usr/libx32          \
     248    --mandir=/usr/share/man       \
     249    --with-shared                 \
     250    --without-debug               \
     251    --without-normal              \
     252    --enable-pc-files             \
     253    --enable-widec                \
     254    --host=x86_64-pc-linux-gnux32 \
     255    --with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>
     256
     257    <para>Compile the package:</para>
     258
     259<screen><userinput remap="make">make -j1</userinput></screen>
     260
     261    <para>Install the package:</para>
     262
     263<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     264for lib in ncurses form panel menu ; do
     265    rm -vf                    DESTDIR/usr/libx32/lib${lib}.so
     266    echo "INPUT(-l${lib}w)" > DESTDIR/usr/libx32/lib${lib}.so
     267    ln -svf ${lib}w.pc        DESTDIR/usr/libx32/pkgconfig/$lib.pc
     268done
     269rm -vf                     DESTDIR/usr/libx32/libcursesw.so
     270echo "INPUT(-lncursesw)" > DESTDIR/usr/libx32/libcursesw.so
     271ln -sfv libncurses.so      DESTDIR/usr/libx32/libcurses.so
     272cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     273rm -rf DESTDIR</userinput></screen>
     274
     275<!-- Any package out there which still needs version 5?
     276     Leave it out for x32bit for now.
     277
     278    <para>If desired, make the version 5 libraries in x32bit as well:</para>
     279
     280<screen><userinput remap="install">make distclean
     281CC="gcc -mx32" CXX="g++ -mx32"  \
     282    ./configure - -prefix=/usr \
     283    - -with-shared             \
     284    - -without-normal          \
     285    - -without-debug           \
     286    - -without-cxx-binding     \
     287    - -with-abi-version=5
     288make -j1 sources libs
     289cp -av lib/lib*.so.5* /usr/libx32</userinput></screen>
     290-->
    162291  </sect2>
    163292
  • chapter06/openssl.xml

    r1fa2099 r8eb3fe4  
    7272<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
    7373cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
     74
     75  </sect2>
     76
     77  <!-- ~~~~~ 32-bit ~~~~~ -->
     78  <sect2 arch="multilib" role="installation">
     79    <title>Installation of OpenSSL - 32-bit</title>
     80
     81    <para>Clean previous build:</para>
     82
     83<screen><userinput remap="pre">make distclean</userinput></screen>
     84
     85    <para>Prepare OpenSSL for compilation:</para>
     86
     87<screen><userinput remap="configure">MACHINE="i686"             \
     88CC="gcc -m32 -march=i686"  \
     89CXX="g++ -m32 -march=i686" \
     90    ./config               \
     91    --prefix=/usr          \
     92    --libdir=/usr/lib32    \
     93         --openssldir=/etc/ssl \
     94         --libdir=lib32        \
     95         shared                \
     96         zlib-dynamic</userinput></screen>
     97
     98    <para>Compile the package:</para>
     99
     100<screen><userinput remap="make">make</userinput></screen>
     101    <para>Install the package:</para>
     102
     103<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     104cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     105rm -rf DESTDIR</userinput></screen>
     106
     107  </sect2>
     108
     109  <!-- ~~~~~ x32-bit ~~~~~ -->
     110  <sect2 arch="multilib" role="installation">
     111    <title>Installation of OpenSSL - x32-bit</title>
     112
     113    <para>Clean previous build:</para>
     114
     115<screen><userinput remap="pre">make distclean</userinput></screen>
     116
     117    <para>Prepare OpenSSL for compilation:</para>
     118
     119<screen><userinput remap="configure">MACHINE="x86_64"          \
     120CC="gcc -mx32"            \
     121CXX="g++ -mx32"           \
     122    ./config              \
     123    --prefix=/usr         \
     124    --libdir=/usr/libx32  \
     125         --openssldir=/etc/ssl \
     126         --libdir=libx32       \
     127         shared                \
     128         zlib-dynamic</userinput></screen>
     129
     130    <para>Compile the package:</para>
     131
     132<screen><userinput remap="make">make</userinput></screen>
     133    <para>Install the package:</para>
     134
     135<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     136cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     137rm -rf DESTDIR</userinput></screen>
    74138
    75139  </sect2>
  • chapter06/readline.xml

    r1fa2099 r8eb3fe4  
    9393  </sect2>
    9494
     95  <sect2 arch="multilib" role="installation">
     96    <title>Installation of Readline - 32-bit</title>
     97
     98    <para>Clean previous build:</para>
     99
     100<screen><userinput remap="pre">make distclean</userinput></screen>
     101
     102    <para>Prepare Readline for compilation:</para>
     103
     104<screen><userinput remap="configure">CC="gcc -m32 -march=i686" ./configure \
     105    --prefix=/usr                     \
     106    --libdir=/usr/lib32               \
     107    --disable-static                  \
     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>Install the package:</para>
     115
     116<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     117cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     118rm -rf DESTDIR</userinput></screen>
     119
     120  </sect2>
     121
     122  <sect2 arch="multilib" role="installation">
     123    <title>Installation of Readline - x32-bit</title>
     124
     125    <para>Clean previous build:</para>
     126
     127<screen><userinput remap="pre">make distclean</userinput></screen>
     128
     129    <para>Prepare Readline for compilation:</para>
     130
     131<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
     132    --prefix=/usr          \
     133    --libdir=/usr/libx32   \
     134    --disable-static       \
     135    --host=x86_64-pc-linux-gnux32</userinput></screen>
     136
     137    <para>Compile the package:</para>
     138
     139<screen><userinput remap="make">make</userinput></screen>
     140
     141    <para>Install the package:</para>
     142
     143<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     144cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     145rm -rf DESTDIR</userinput></screen>
     146
     147  </sect2>
     148
    95149  <sect2 id="contents-readline" role="content">
    96150    <title>Contents of Readline</title>
  • chapter06/revisedchroot.xml

    r1fa2099 r8eb3fe4  
    6363  at this point. To remove them, run:</para>
    6464
    65 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
     65<screen arch="default"><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
     66
     67<screen arch="multilib"><userinput>find /usr/lib{,{,x}32} /usr/libexec -name \*.la -delete</userinput></screen>
    6668
    6769   <para>For more information about libtool archive files, see the <ulink
  • chapter06/strippingagain.xml

    r1fa2099 r8eb3fe4  
    3434
    3535<!--<screen><userinput>save_lib="ld-2.25.so libc-2.25.so libpthread-2.25.so libthread_db-1.0.so"-->
    36 <screen><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
     36<screen arch="default"><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
    3737
    3838cd /lib
     
    5353    strip --strip-unneeded $LIB
    5454    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     55done
     56
     57unset LIB save_lib save_usrlib</userinput></screen>
     58
     59<screen arch="multilib"><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
     60
     61cd /lib
     62
     63for LIB in $save_lib; do
     64    objcopy --only-keep-debug $LIB $LIB.dbg
     65    strip --strip-unneeded $LIB
     66    objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     67done   
     68
     69save_usrlib="libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version;
     70             libitm.so.&libitm-version; libatomic.so.&libatomic-version;" <!-- libcilkrts.so.&libcilkrts-version;-->
     71
     72for libdir in /usr/lib{,{,x}32}; do
     73    cd $libdir
     74    for LIB in $save_usrlib; do
     75        objcopy --only-keep-debug $LIB $LIB.dbg
     76        strip --strip-unneeded $LIB
     77        objcopy --add-gnu-debuglink=$LIB.dbg $LIB
     78    done
    5579done
    5680
     
    81105  <para>Now the binaries and libraries can be safely stripped:</para>
    82106
    83 <screen><userinput>/tools/bin/find /usr/lib -type f -name \*.a \
     107<screen arch="default"><userinput>/tools/bin/find /usr/lib -type f -name \*.a \
    84108   -exec /tools/bin/strip --strip-debug {} ';'
    85109
    86110/tools/bin/find /lib /usr/lib -type f \( -name \*.so* -a ! -name \*dbg \) \
     111   -exec /tools/bin/strip --strip-unneeded {} ';'
     112
     113/tools/bin/find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
     114    -exec /tools/bin/strip --strip-all {} ';'</userinput></screen>
     115
     116<screen arch="multilib"><userinput>/tools/bin/find /usr/lib{,{,x}32} -type f -name \*.a \
     117   -exec /tools/bin/strip --strip-debug {} ';'
     118
     119/tools/bin/find /lib /usr/lib{,{,x}32} -type f \( -name \*.so* -a ! -name \*dbg \) \
    87120   -exec /tools/bin/strip --strip-unneeded {} ';'
    88121
  • chapter06/systemd.xml

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

    r1fa2099 r8eb3fe4  
    5353  </sect2>
    5454
     55  <!-- ~~~~~~~~~~~~~~~~~~~~~ default ABI ~~~~~~~~~~~~~~~~~~~~~ -->
    5556  <sect2 role="installation">
    5657    <title>Installation of Util-linux</title>
     
    119120
    120121<screen><userinput remap="install">make install</userinput></screen>
     122
     123  </sect2>
     124
     125  <!-- ~~~~~~~~~~~~~~~~~~~~~ ABI 32-bit ~~~~~~~~~~~~~~~~~~~~~ -->
     126  <sect2 arch="multilib" role="installation">
     127    <title>Installation of Util-linux - 32-bit</title>
     128
     129    <para>Clean previous build:</para>
     130
     131<screen><userinput remap="pre">make distclean</userinput></screen>
     132
     133    <para>Prepare Util-linux for compilation:</para>
     134
     135<screen revision="sysv"><userinput remap="configure">CC="gcc -m32" \
     136./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
     137            --docdir=/usr/share/doc/util-linux-&util-linux-version; \
     138            --disable-chfn-chsh      \
     139            --disable-login          \
     140            --disable-nologin        \
     141            --disable-su             \
     142            --disable-setpriv        \
     143            --disable-runuser        \
     144            --disable-pylibmount     \
     145            --disable-static         \
     146            --without-python         \
     147            --without-systemd        \
     148            --libdir=/usr/lib32      \
     149            --host=i686-pc-linux-gnu \
     150            --without-systemdsystemunitdir \
     151            --enable-libmount-force-mountinfo</userinput></screen>
     152
     153<screen revision="systemd"><userinput remap="configure">CC="gcc -m32" \
     154./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
     155            --docdir=/usr/share/doc/util-linux-&util-linux-version; \
     156            --disable-chfn-chsh      \
     157            --disable-login          \
     158            --disable-nologin        \
     159            --disable-su             \
     160            --disable-setpriv        \
     161            --disable-runuser        \
     162            --disable-pylibmount     \
     163            --disable-static         \
     164            --without-python         \
     165            --libdir=/usr/lib32      \
     166            --host=i686-pc-linux-gnu \
     167            --enable-libmount-force-mountinfo</userinput></screen>
     168
     169    <para>Compile the package:</para>
     170
     171<screen><userinput remap="make">make</userinput></screen>
     172
     173    <para>Install the package:</para>
     174
     175<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     176cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     177rm -rf DESTDIR</userinput></screen>
     178
     179  </sect2>
     180
     181  <!-- ~~~~~~~~~~~~~~~~~~~~~ ABI x32-bit ~~~~~~~~~~~~~~~~~~~~~ -->
     182  <sect2 arch="multilib" 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            --docdir=/usr/share/doc/util-linux-&util-linux-version; \
     194            --disable-chfn-chsh  \
     195            --disable-login      \
     196            --disable-nologin    \
     197            --disable-su         \
     198            --disable-setpriv    \
     199            --disable-runuser    \
     200            --disable-pylibmount \
     201            --disable-static     \
     202            --without-python     \
     203            --without-systemd    \
     204            --without-systemdsystemunitdir \
     205            --libdir=/usr/libx32  \
     206            --host=x86_64-pc-linux-gnux32 \
     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            --docdir=/usr/share/doc/util-linux-&util-linux-version; \
     212            --disable-chfn-chsh  \
     213            --disable-login      \
     214            --disable-nologin    \
     215            --disable-su         \
     216            --disable-setpriv    \
     217            --disable-runuser    \
     218            --disable-pylibmount \
     219            --disable-static     \
     220            --without-python     \
     221            --libdir=/usr/libx32 \
     222            --host=x86_64-pc-linux-gnux32 \
     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
     232cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     233rm -rf DESTDIR</userinput></screen>
    121234
    122235  </sect2>
  • chapter06/xz.xml

    r1fa2099 r8eb3fe4  
    6666mv -v /usr/lib/liblzma.so.* /lib
    6767ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so</userinput></screen>
     68
     69  </sect2>
     70
     71  <sect2 arch="multilib" role="installation">
     72    <title>Installation of Xz - 32-bit</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    --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
     93cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     94rm -rf DESTDIR</userinput></screen>
     95
     96  </sect2>
     97
     98  <sect2 arch="multilib" role="installation">
     99    <title>Installation of Xz - x32-bit</title>
     100
     101    <para>Clean previous build:</para>
     102
     103<screen><userinput remap="pre">make distclean</userinput></screen>
     104
     105    <para>Prepare Xz for compilation:</para>
     106
     107<screen><userinput remap="configure">
     108CC="gcc -mx32" ./configure \
     109    --prefix=/usr          \
     110    --disable-static       \
     111    --libdir=/usr/libx32   \
     112    --host=x86_64-pc-linux-gnux32</userinput></screen>
     113
     114    <para>Compile the package:</para>
     115
     116<screen><userinput remap="make">make</userinput></screen>
     117
     118    <para>Install the package:</para>
     119
     120<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     121cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     122rm -rf DESTDIR</userinput></screen>
    68123
    69124  </sect2>
  • chapter06/zlib.xml

    r1fa2099 r8eb3fe4  
    6868  </sect2>
    6969
     70  <sect2 arch="multilib" role="installation">
     71    <title>Installation of Zlib - 32-bit</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<!-- configure doesn't know option - -host=i686-pc-linux-gnu -->
     80<screen><userinput remap="configure">CC="gcc -m32 -march=i686" \
     81./configure --prefix=/usr \
     82    --libdir=/usr/lib32</userinput></screen>
     83
     84    <para>Compile the package:</para>
     85
     86<screen><userinput remap="make">make</userinput></screen>
     87
     88    <para>Install the package:</para>
     89
     90<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     91cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     92rm -rf DESTDIR</userinput></screen>
     93
     94  </sect2>
     95
     96  <sect2 arch="multilib" role="installation">
     97    <title>Installation of Zlib - x32-bit</title>
     98
     99<screen><userinput remap="pre">make distclean</userinput></screen>
     100
     101    <para>Prepare Zlib for compilation:</para>
     102
     103<screen><userinput remap="configure">CC="gcc -mx32" \
     104./configure --prefix=/usr    \
     105    --libdir=/usr/libx32</userinput></screen>
     106
     107    <para>Compile the package:</para>
     108
     109<screen><userinput remap="make">make</userinput></screen>
     110
     111    <para>Install the package:</para>
     112
     113<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
     114cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     115rm -rf DESTDIR</userinput></screen>
     116
     117  </sect2>
     118
    70119  <sect2 id="contents-zlib" role="content">
    71120    <title>Contents of Zlib</title>
Note: See TracChangeset for help on using the changeset viewer.