Changes in / [4605657:c7b29be]
- Files:
-
- 2 deleted
- 49 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
r4605657 rc7b29be 35 35 endif 36 36 37 ifndef ARCH38 ARCH = default39 endif40 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 endif46 endif47 endif48 endif49 50 37 book: validate profile-html 51 38 @echo "Generating chunked XHTML files at $(BASEDIR)/ ..." … … 143 130 --output $(RENDERTMP)/lfs-html2.xml \ 144 131 --stringparam profile.revision $(REV) \ 145 --stringparam profile.arch $(ARCH) \146 132 stylesheets/lfs-xsl/profile.xsl \ 147 133 index.xml … … 191 177 $(Q)xsltproc --nonet --xinclude \ 192 178 --stringparam profile.revision $(REV) \ 193 --stringparam profile.arch $(ARCH) \194 179 --output $(RENDERTMP)/sysv-md5sum.xml \ 195 180 stylesheets/lfs-xsl/profile.xsl \ -
chapter01/askforhelp.xml
r4605657 rc7b29be 39 39 <itemizedlist> 40 40 <listitem> 41 <para>The version of the book being used (in this case &version; <phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase>)</para>41 <para>The version of the book being used (in this case &version;)</para> 42 42 </listitem> 43 43 <listitem> … … 54 54 </listitem> 55 55 <listitem> 56 <para>Note whether you have deviated from the book at all </para>56 <para>Note whether you have deviated from the book at all </para> 57 57 </listitem> 58 58 </itemizedlist> -
chapter01/changelog.xml
r4605657 rc7b29be 11 11 <title>Changelog</title> 12 12 13 <para>This is version &version; <phrase arch="ml_32,ml_x32,ml_all">&version;-multilib</phrase>of the Linux From Scratch book, dated13 <para>This is version &version; of the Linux From Scratch book, dated 14 14 &releasedate;. If this book is more than six months old, a newer and better 15 15 version is probably already available. To find out, please check one of the -
chapter02/hostreqs.xml
r4605657 rc7b29be 226 226 --> 227 227 228 <para arch="ml_32,ml_x32,ml_all">229 Building multilib support requires the kernel of the host system230 to have 32-bit emulation support included.231 </para>232 <screen arch="ml_32,ml_x32,ml_all">Binary Emulations --->233 [*] IA32 Emulation234 <M> IA32 a.out support235 [*] x32 ABI for 64-bit mode236 </screen>237 238 <para arch="ml_32,ml_x32,ml_all">The option 'IA32 a.out support' is239 optional. In case your kernel does not have 'x32 ABI for 64-bit mode'240 enabled but only 'IA32 Emulation', you can continue to build your241 system but you have to leave out any sections showing instructions242 for building x32 objects. If neither 'IA32 Emulation' nor243 'x32 ABI for 64-bit mode' is enabled, you will run in errors244 latest when building <application>glibc</application> in Chapter 6,245 so an upgrade of your host system kernel is required.246 </para>247 248 228 </sect1> -
chapter03/packages.xml
r4605657 rc7b29be 362 362 <para>Download: <ulink url="&iproute2-url;"/></para> 363 363 <para>MD5 sum: <literal>&iproute2-md5;</literal></para> 364 </listitem>365 </varlistentry>366 367 <varlistentry arch="ml_32,ml_x32,ml_all">368 <term>ISL (&isl-version;) - <token>&isl-size;</token>:</term>369 <listitem>370 <para>Home page: <ulink url="&isl-home;"/></para>371 <para>Download: <ulink url="&isl-url;"/></para>372 <para>MD5 sum: <literal>&isl-md5;</literal></para>373 364 </listitem> 374 365 </varlistentry> -
chapter04/addinguser.xml
r4605657 rc7b29be 85 85 x86_64) chown -v lfs $LFS/lib64 ;; 86 86 esac</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>90 87 91 88 <note><para>In some host systems, the following command does not complete -
chapter04/creatingminlayout.xml
r4605657 rc7b29be 30 30 x86_64) mkdir -pv $LFS/lib64 ;; 31 31 esac</userinput></screen> 32 <screen arch="ml_32"><userinput>mkdir -pv $LFS/usr/lib3233 ln -sv usr/lib32 $LFS/lib32</userinput></screen>34 <screen arch="ml_x32"><userinput>mkdir -pv $LFS/usr/libx3235 ln -sv usr/libx32 $LFS/libx32</userinput></screen>36 <screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}3237 ln -sv usr/lib32 $LFS/lib3238 ln -sv usr/libx32 $LFS/libx32</userinput></screen>39 32 40 33 <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled -
chapter04/settingenviron.xml
r4605657 rc7b29be 38 38 <filename>.bashrc</filename> file now:</para> 39 39 40 <screen arch="default"><userinput>cat > ~/.bashrc << "EOF"40 <screen><userinput>cat > ~/.bashrc << "EOF" 41 41 <literal>set +h 42 42 umask 022 … … 49 49 CONFIG_SITE=$LFS/usr/share/config.site 50 50 export LFS LC_ALL LFS_TGT PATH CONFIG_SITE</literal> 51 EOF</userinput></screen>52 <screen arch="ml_32,ml_x32,ml_all"><userinput>cat > ~/.bashrc << "EOF"53 <literal>set +h54 umask 02255 LFS=/mnt/lfs56 LC_ALL=POSIX57 LFS_TGT=x86_64-lfs-linux-gnu58 LFS_TGT32=i686-lfs-linux-gnu59 LFS_TGTX32=x86_64-lfs-linux-gnux3260 PATH=/usr/bin61 if [ ! -L /bin ]; then PATH=/bin:$PATH; fi62 PATH=$LFS/tools/bin:$PATH63 CONFIG_SITE=$LFS/usr/share/config.site64 export LFS LC_ALL LFS_TGT LFS_TGT32 LFS_TGTX32 PATH</literal>65 51 EOF</userinput></screen> 66 52 -
chapter05/binutils-pass1.xml
r4605657 rc7b29be 71 71 <para>Now prepare Binutils for compilation:</para> 72 72 73 <screen arch="default"><userinput remap="configure">../configure --prefix=$LFS/tools \73 <screen><userinput remap="configure">../configure --prefix=$LFS/tools \ 74 74 --with-sysroot=$LFS \ 75 75 --target=$LFS_TGT \ 76 76 --disable-nls \ 77 77 --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>84 78 85 79 <variablelist> … … 130 124 </varlistentry> 131 125 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 139 126 </variablelist> 140 127 -
chapter05/gcc-pass1.xml
r4605657 rc7b29be 63 63 mv -v mpc-&mpc-version; mpc</userinput></screen> 64 64 65 <para arch="default">On x86_64 hosts, set the default directory name for65 <para>On x86_64 hosts, set the default directory name for 66 66 64-bit libraries to <quote>lib</quote>:</para> 67 67 68 <screen arch="default"><userinput remap="pre">case $(uname -m) in68 <screen><userinput remap="pre">case $(uname -m) in 69 69 x86_64) 70 70 sed -e '/m64=/s/lib64/lib/' \ … … 73 73 esac</userinput></screen> 74 74 75 <para arch="ml_32,ml_x32,ml_all">Change the default directory name for76 libraries:</para>77 78 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \79 -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \80 -i.orig gcc/config/i386/t-linux6481 </userinput></screen>82 83 75 <para>The GCC documentation recommends building GCC 84 76 in a dedicated build directory:</para> … … 89 81 <para>Prepare GCC for compilation:</para> 90 82 91 <screen arch="default"><userinput remap="configure">../configure \83 <screen><userinput remap="configure">../configure \ 92 84 --target=$LFS_TGT \ 93 85 --prefix=$LFS/tools \ … … 108 100 --disable-libstdcxx \ 109 101 --enable-languages=c,c++</userinput></screen> 110 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"111 arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"112 arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"113 arch="ml_all">mlist=m64,m32,mx32</userinput>114 <userinput remap="configure">../configure \115 --target=$LFS_TGT \116 --prefix=$LFS/tools \117 --with-glibc-version=&glibc-version; \118 --with-sysroot=$LFS \119 --with-newlib \120 --without-headers \121 --enable-initfini-array \122 --disable-nls \123 --disable-shared \124 --enable-multilib --with-multilib-list=$mlist \125 --disable-decimal-float \126 --disable-threads \127 --disable-libatomic \128 --disable-libgomp \129 --disable-libquadmath \130 --disable-libssp \131 --disable-libvtv \132 --disable-libstdcxx \133 --enable-languages=c,c++</userinput></screen>134 135 102 <variablelist> 136 103 <title>The meaning of the configure options:</title> … … 175 142 </varlistentry> 176 143 177 <varlistentry arch="default">144 <varlistentry> 178 145 <term><parameter>--disable-multilib</parameter></term> 179 146 <listitem> 180 147 <para>On x86_64, LFS does not support a multilib configuration. 181 148 This switch is harmless for x86.</para> 182 </listitem>183 </varlistentry>184 <varlistentry arch="ml_32,ml_x32,ml_all">185 <term><parameter>--enable-multilib --with-multilib-list=...</parameter></term>186 <listitem>187 <para>LFS canbe used to support multilib. Which they are is188 specified in the multilib list.</para>189 149 </listitem> 190 150 </varlistentry> -
chapter05/glibc.xml
r4605657 rc7b29be 48 48 operation of the dynamic library loader:</para> 49 49 50 <screen arch="default"><userinput remap="pre">case $(uname -m) in50 <screen><userinput remap="pre">case $(uname -m) in 51 51 i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3 52 52 ;; … … 55 55 ;; 56 56 esac</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/lib6459 ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3</userinput></screen>60 57 61 58 <note> … … 89 86 <para>Next, prepare Glibc for compilation:</para> 90 87 91 <screen arch="default"><userinput remap="configure">../configure \88 <screen><userinput remap="configure">../configure \ 92 89 --prefix=/usr \ 93 90 --host=$LFS_TGT \ … … 95 92 --enable-kernel=&min-kernel; \ 96 93 --with-headers=$LFS/usr/include \ 97 libc_cv_slibdir=/usr/lib</userinput></screen>98 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \99 --prefix=/usr \100 --host=$LFS_TGT \101 --build=$(../scripts/config.guess) \102 --enable-kernel=&min-kernel; \103 --with-headers=$LFS/usr/include \104 --enable-multi-arch \105 94 libc_cv_slibdir=/usr/lib</userinput></screen> 106 95 … … 216 205 <screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen> 217 206 218 <para arch="default">Note that for 32-bit machines, the interpreter name will be207 <para>Note that for 32-bit machines, the interpreter name will be 219 208 <filename>/lib/ld-linux.so.2</filename>.</para> 220 209 … … 244 233 </sect2> 245 234 246 <!-- - - - - - - - - - -->247 <!-- Multilib - 32bit -->248 <!-- - - - - - - - - - -->249 <sect2 arch="ml_32,ml_all">250 <title>Building Glibc - 32bit</title>251 252 <para>Now recompile for m32. The extracted source can be253 reused but needs to be cleaned before installing the m32254 version of Glibc.</para>255 256 <para>Clear the build directory and remove artefacts from257 previous build:</para>258 259 <screen><userinput remap="pre">make clean260 find .. -name "*.a" -delete</userinput></screen>261 262 <para>Configure Glibc for m32 with the following commands:</para>263 264 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \265 CXX="$LFS_TGT-g++ -m32" \266 ../configure \267 --prefix=/usr \268 --host=$LFS_TGT32 \269 --build=$(../scripts/config.guess) \270 --enable-kernel=&min-kernel; \271 --with-headers=$LFS/usr/include \272 --enable-multi-arch \273 --libdir=/usr/lib32 \274 --libexecdir=/usr/lib32 \275 libc_cv_slibdir=/usr/lib32</userinput></screen>276 277 <para>Compile the package:</para>278 279 <screen><userinput remap="make">make</userinput></screen>280 281 <para>Install the package:</para>282 283 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install284 cp -a DESTDIR/usr/lib32 $LFS/usr/285 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \286 $LFS/usr/include/gnu/287 ln -svf ../lib32/ld-linux.so.2 $LFS/lib/ld-linux.so.2</userinput></screen>288 289 290 <caution>291 <para>At this point, it is imperative to stop and ensure that the basic292 functions (compiling and linking) of the new toolchain are working as293 expected. To perform a sanity check, run the following commands:</para>294 295 <screen><userinput>echo 'int main(){}' > dummy.c296 $LFS_TGT-gcc -m32 dummy.c297 readelf -l a.out | grep '/ld-linux'</userinput></screen>298 299 <para>If everything is working correctly, there should be no errors,300 and the output of the last command will be of the form:</para>301 302 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>303 304 <para>If the output is not shown as above or there was no output at all,305 then something is wrong. Investigate and retrace the steps to find out306 where the problem is and correct it. This issue must be resolved before307 continuing on.</para>308 309 <para>Once all is well, clean up the test files:</para>310 311 <screen><userinput>rm -v dummy.c a.out</userinput></screen>312 313 </caution>314 315 </sect2><!-- m32 -->316 317 <!-- - - - - - - - - - -->318 <!-- Multilib - x32bit -->319 <!-- - - - - - - - - - -->320 321 <sect2 arch="ml_x32,ml_all">322 <title>Building Glibc - x32bit</title>323 324 <para>Now recompile for mx32. The extracted source can be325 reused but needs to be cleaned before installing the mx32326 version of Glibc.</para>327 328 <para>Clear the build directory and remove artefacts from329 previous build:</para>330 331 <screen><userinput remap="pre">make clean332 find .. -name "*.a" -delete</userinput></screen>333 334 <para>Configure Glibc for mx32 with the following commands:</para>335 336 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \337 CXX="$LFS_TGT-g++ -mx32" \338 ../configure \339 --prefix=/usr \340 --host=$LFS_TGTX32 \341 --build=$(../scripts/config.guess) \342 --enable-kernel=&min-kernel; \343 --with-headers=$LFS/usr/include \344 --enable-multi-arch \345 --libdir=/usr/libx32 \346 --libexecdir=/usr/libx32 \347 libc_cv_slibdir=/usr/libx32</userinput></screen>348 349 <para>Compile the package:</para>350 351 <screen><userinput remap="make">make</userinput></screen>352 353 <para>Install the package:</para>354 355 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install356 cp -a DESTDIR/usr/libx32 $LFS/usr/357 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \358 $LFS/usr/include/gnu/359 ln -svf ../libx32/ld-linux-x32.so.2 $LFS/lib/ld-linux-x32.so.2</userinput></screen>360 361 <caution>362 <para>At this point, it is imperative to stop and ensure that the basic363 functions (compiling and linking) of the new toolchain are working as364 expected. To perform a sanity check, run the following commands:</para>365 366 <screen><userinput>echo 'int main(){}' > dummy.c367 $LFS_TGT-gcc -mx32 dummy.c368 readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>369 370 <para>If everything is working correctly, there should be no errors,371 and the output of the last command will be of the form:</para>372 373 <screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>374 375 <para>If the output is not shown as above or there was no output at all,376 then something is wrong. Investigate and retrace the steps to find out377 where the problem is and correct it. This issue must be resolved before378 continuing on.</para>379 380 <para>Once all is well, clean up the test files:</para>381 382 <screen><userinput>rm -v dummy.c a.out</userinput></screen>383 384 </caution>385 386 </sect2><!-- mx32 -->387 388 235 <sect2 role="content"> 389 236 <title/> -
chapter05/libstdc++.xml
r4605657 rc7b29be 61 61 <para>Prepare libstdc++ for compilation:</para> 62 62 63 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure \ 64 --host=$LFS_TGT \ 65 --build=$(../config.guess) \ 66 --prefix=/usr \ 67 --enable-multilib \ 68 --disable-nls \ 69 --disable-libstdcxx-pch \ 70 --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen> 71 <screen arch="default"><userinput remap="configure">../libstdc++-v3/configure \ 63 <screen><userinput remap="configure">../libstdc++-v3/configure \ 72 64 --host=$LFS_TGT \ 73 65 --build=$(../config.guess) \ … … 87 79 should be used instead of the one in 88 80 <filename>/usr/bin</filename>.</para> 89 </listitem>90 </varlistentry>91 92 <varlistentry arch="ml_32,ml_x32,ml_all">93 <term><parameter>--enable-multilib</parameter></term>94 <listitem>95 <para>Enable building multilib objects.</para>96 81 </listitem> 97 82 </varlistentry> -
chapter06/binutils-pass2.xml
r4605657 rc7b29be 59 59 <para>Prepare Binutils for compilation:</para> 60 60 61 <screen arch="default"><userinput remap="configure">../configure \61 <screen><userinput remap="configure">../configure \ 62 62 --prefix=/usr \ 63 63 --build=$(../config.guess) \ … … 67 67 --disable-werror \ 68 68 --enable-64-bit-bfd</userinput></screen> 69 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \70 --prefix=/usr \71 --build=$(../config.guess) \72 --host=$LFS_TGT \73 --disable-nls \74 --enable-shared \75 --disable-werror \76 --enable-64-bit-bfd \77 --enable-multilib</userinput></screen>78 69 79 70 <variablelist> … … 94 85 <para>Enables 64-bit support (on hosts with narrower word sizes). 95 86 May not be needed on 64-bit systems, but does no harm.</para> 96 </listitem>97 </varlistentry>98 99 <varlistentry arch="ml_32,ml_x32,ml_all">100 <term><parameter>--enable-multilib</parameter></term>101 <listitem>102 <para>Enables multilib support in bintutils.</para>103 87 </listitem> 104 88 </varlistentry> -
chapter06/gcc-pass2.xml
r4605657 rc7b29be 55 55 mv -v mpc-&mpc-version; mpc</userinput></screen> 56 56 57 58 <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 59 58 libraries to <quote>lib</quote>:</para> 60 59 61 <screen arch="default"><userinput remap="pre">case $(uname -m) in60 <screen><userinput remap="pre">case $(uname -m) in 62 61 x86_64) 63 62 sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 64 63 ;; 65 64 esac</userinput></screen> 66 67 <para arch="ml_32,ml_x32,ml_all">Change the default directory name for the68 libraries:</para>69 70 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \71 -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \72 -i.orig gcc/config/i386/t-linux64</userinput></screen>73 65 74 66 <para>Override the building rule of libgcc and libstdc++ headers, to … … 88 80 <para>Now prepare GCC for compilation:</para> 89 81 90 <screen arch="default"><userinput remap="configure">../configure \82 <screen><userinput remap="configure">../configure \ 91 83 --build=$(../config.guess) \ 92 84 --host=$LFS_TGT \ … … 105 97 --disable-libvtv \ 106 98 --enable-languages=c,c++</userinput></screen> 107 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure" 108 arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure" 109 arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure" 110 arch="ml_all">mlist=m64,m32,mx32</userinput> 111 <userinput remap="configure">../configure \ 112 --build=$(../config.guess) \ 113 --host=$LFS_TGT \ 114 --target=$LFS_TGT \ 115 LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \ 116 --prefix=/usr \ 117 --with-build-sysroot=$LFS \ 118 --enable-initfini-array \ 119 --disable-nls \ 120 --enable-multilib --with-multilib-list=$mlist \ 121 --disable-decimal-float \ 122 --disable-libatomic \ 123 --disable-libgomp \ 124 --disable-libquadmath \ 125 --disable-libssp \ 126 --disable-libvtv \ 127 --enable-languages=c,c++</userinput></screen> 128 <!-- 129 LDFLAGS_FOR_TARGET="-L$PWD/$LFS_TGT/libgcc -L$PWD/$LFS_TGT/32/libgcc -L$PWD/$LFS_TGT/x32/libgcc" \ 130 --> 99 131 100 <variablelist> 132 101 <title>The meaning of the new configure options:</title><!-- WIP --> -
chapter06/ncurses.xml
r4605657 rc7b29be 166 166 </sect2> 167 167 168 <!-- - - - - - - - - - -->169 <!-- Multilib - 32bit -->170 <!-- - - - - - - - - - -->171 <sect2 arch="ml_32,ml_all">172 <title>Building Ncurses - 32bit</title>173 174 <para>Clean previous build:</para>175 176 <screen><userinput remap="pre">make distclean</userinput></screen>177 178 <para>Prepare Ncurses for compilation:</para>179 180 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -m32" \181 CXX="$LFS_TGT-g++ -m32" \182 ./configure --prefix=/usr \183 --host=$LFS_TGT32 \184 --build=$(./config.guess) \185 --libdir=/usr/lib32 \186 --mandir=/usr/share/man \187 --with-shared \188 --without-debug \189 --without-ada \190 --without-normal \191 --disable-stripping \192 --enable-widec</userinput></screen>193 194 <para>Compile the package:</para>195 196 <screen><userinput remap="make">make</userinput></screen>197 198 <para>Install the package:</para>199 200 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install201 ln -s libncursesw.so DESTDIR/usr/lib32/libcursesw.so202 cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32203 rm -rf DESTDIR</userinput></screen>204 205 </sect2><!-- m32 -->206 207 <!-- - - - - - - - - - -->208 <!-- Multilib - x32bit -->209 <!-- - - - - - - - - - -->210 <sect2 arch="ml_x32,ml_all">211 <title>Building Ncurses - x32bit</title>212 213 <para>Clean previous build:</para>214 215 <screen><userinput remap="pre">make distclean</userinput></screen>216 217 <para>Prepare Ncurses for compilation:</para>218 219 <screen><userinput remap="configure">CC="$LFS_TGT-gcc -mx32" \220 CXX="$LFS_TGT-g++ -mx32" \221 ./configure --prefix=/usr \222 --host=$LFS_TGTX32 \223 --build=$(./config.guess) \224 --libdir=/usr/libx32 \225 --mandir=/usr/share/man \226 --with-shared \227 --without-debug \228 --without-ada \229 --without-normal \230 --disable-stripping \231 --enable-widec</userinput></screen>232 233 <para>Compile the package:</para>234 235 <screen><userinput remap="make">make</userinput></screen>236 237 <para>Install the package:</para>238 239 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install240 ln -s libncursesw.so DESTDIR/usr/libx32/libcursesw.so241 cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32242 rm -rf DESTDIR</userinput></screen>243 244 </sect2><!-- mx32 -->245 246 168 <sect2 role="content"> 247 169 <title/> -
chapter07/changingowner.xml
r4605657 rc7b29be 39 39 esac</userinput></screen> 40 40 41 <para arch="ml_32,ml_x32,ml_all">Some more directories exists for42 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 46 41 </sect1> -
chapter07/cleanup.xml
r4605657 rc7b29be 24 24 While still in chroot, remove those files now:</para> 25 25 26 <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32"> 27 find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32"> 28 find /usr/libx32 -name \*.la -delete</userinput><userinput arch="ml_all"> 29 find /usr/lib{,x}32 -name \*.la -delete</userinput></screen> 26 <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen> 30 27 31 28 <para> -
chapter07/creatingdirs.xml
r4605657 rc7b29be 42 42 install -dv -m 1777 /tmp /var/tmp</userinput></screen> 43 43 44 <para arch="ml_32,ml_x32,ml_all">Required directories for multilib45 support has already been created while previous installation steps.</para>46 47 44 <para>Directories are, by default, created with permission mode 755, but 48 45 this is not desirable for all directories. In the commands above, two -
chapter07/util-linux.xml
r4605657 rc7b29be 127 127 </sect2> 128 128 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 install164 cp -Rv DESTDIR/usr/lib32/* /usr/lib32165 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 install204 cp -Rv DESTDIR/usr/libx32/* /usr/libx32205 rm -rf DESTDIR</userinput></screen>206 207 </sect2><!-- mx32 -->208 209 129 <sect2 role="content"> 210 130 <title/> -
chapter08/acl.xml
r4605657 rc7b29be 64 64 65 65 </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 install94 cp -Rv DESTDIR/usr/lib32/* /usr/lib3295 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 install126 cp -Rv DESTDIR/usr/libx32/* /usr/libx32127 rm -rf DESTDIR</userinput></screen>128 129 </sect2><!-- mx32 -->130 66 131 67 <sect2 id="contents-acl" role="content"> -
chapter08/attr.xml
r4605657 rc7b29be 65 65 </sect2> 66 66 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 install93 cp -Rv DESTDIR/usr/lib32/* /usr/lib3294 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 install124 cp -Rv DESTDIR/usr/libx32/* /usr/libx32125 rm -rf DESTDIR</userinput></screen>126 127 </sect2><!-- mx32 -->128 129 67 <sect2 id="contents-attr" role="content"> 130 68 <title>Contents of Attr</title> -
chapter08/binutils.xml
r4605657 rc7b29be 88 88 <para>Prepare Binutils for compilation:</para> 89 89 90 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr \90 <screen><userinput remap="configure">../configure --prefix=/usr \ 91 91 --enable-gold \ 92 92 --enable-ld=default \ … … 96 96 --enable-64-bit-bfd \ 97 97 --with-system-zlib</userinput></screen> 98 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \99 --enable-gold \100 --enable-ld=default \101 --enable-plugins \102 --enable-shared \103 --disable-werror \104 --enable-64-bit-bfd \105 --with-system-zlib \106 --enable-multilib</userinput></screen>107 108 98 <variablelist> 109 99 <title>The meaning of the configure parameters:</title> … … 137 127 <para>Enables 64-bit support (on hosts with narrower word sizes). 138 128 May not be needed on 64-bit systems, but does no harm.</para> 139 </listitem>140 </varlistentry>141 142 <varlistentry arch="ml_32,ml_x32,ml_all">143 <term><parameter>--enable-multilib</parameter></term>144 <listitem>145 <para>Enables multilib support in bintutils.</para>146 129 </listitem> 147 130 </varlistentry> -
chapter08/bzip2.xml
r4605657 rc7b29be 103 103 104 104 </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_so121 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.8126 ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so127 ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1128 ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0129 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_so148 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.8153 ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so154 ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1155 ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0156 install -Dm644 libbz2.a /usr/libx32/libbz2.a</userinput></screen>157 158 </sect2><!-- mx32 -->159 105 160 106 <sect2 id="contents-bzip2" role="content"> -
chapter08/chapter08.xml
r4605657 rc7b29be 35 35 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/> 36 36 <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"/>38 37 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/> 39 38 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/> -
chapter08/cleanup.xml
r4605657 rc7b29be 22 22 To remove them, run:</para> 23 23 24 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput><userinput arch="ml_32,ml_all"> 25 find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32,ml_all"> 26 find /usr/libx32 -name \*.la -delete</userinput></screen> 24 <screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen> 27 25 28 26 <para>For more information about libtool archive files, see the <ulink -
chapter08/eudev.xml
r4605657 rc7b29be 84 84 85 85 </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 install117 cp -Rv DESTDIR/usr/lib32/* /usr/lib32118 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 install152 cp -Rv DESTDIR/usr/libx32/* /usr/libx32153 rm -rf DESTDIR</userinput></screen>154 155 </sect2><!-- mx32 -->156 86 157 87 <sect2 id="conf-eudev" role="configuration"> -
chapter08/expat.xml
r4605657 rc7b29be 66 66 </sect2> 67 67 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 it76 cannot be rebuilt in this stage of the system:</para>77 78 <screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile79 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 install95 cp -Rv DESTDIR/usr/lib32/* /usr/lib3296 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 it108 cannot be rebuilt in this stage of the system:</para>109 110 <screen><userinput remap="pre">sed -e "/^am__append_1/ s/doc//" -i Makefile111 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 install127 cp -Rv DESTDIR/usr/libx32/* /usr/libx32128 rm -rf DESTDIR</userinput></screen>129 130 </sect2><!-- mx32 -->131 132 68 <sect2 id="contents-expat" role="content"> 133 69 <title>Contents of Expat</title> -
chapter08/file.xml
r4605657 rc7b29be 60 60 </sect2> 61 61 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 install87 cp -Rv DESTDIR/usr/lib32/* /usr/lib3288 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 install117 cp -Rv DESTDIR/usr/libx32/* /usr/libx32118 rm -rf DESTDIR</userinput></screen>119 120 </sect2><!-- mx32 -->121 62 122 63 <sect2 id="contents-file" role="content"> -
chapter08/gcc.xml
r4605657 rc7b29be 53 53 libraries to <quote>lib</quote>:</para> 54 54 55 <screen arch="default"><userinput remap="pre">case $(uname -m) in55 <screen><userinput remap="pre">case $(uname -m) in 56 56 x86_64) 57 57 sed -e '/m64=/s/lib64/lib/' \ … … 60 60 esac</userinput></screen> 61 61 62 <para arch="ml_32,ml_x32,ml_all">Change the default directory name for 64-bit63 libraries to <quote>lib</quote>:</para>64 65 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="pre">sed -e '/m64=/s/lib64/lib/' \66 -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \67 -i.orig gcc/config/i386/t-linux64</userinput></screen>68 69 62 <para>The GCC documentation recommends building GCC in a dedicated build directory:</para> 70 63 … … 74 67 <para>Prepare GCC for compilation:</para> 75 68 76 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr \69 <screen><userinput remap="configure">../configure --prefix=/usr \ 77 70 LD=ld \ 78 71 --enable-languages=c,c++ \ 79 72 --disable-multilib \ 80 73 --disable-bootstrap \ 81 --with-system-zlib</userinput></screen>82 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"83 arch="ml_32" >mlist=m64,m32</userinput><userinput remap="configure"84 arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"85 arch="ml_all">mlist=m64,m32,mx32</userinput>86 <userinput remap="configure">../configure --prefix=/usr \87 LD=ld \88 --enable-languages=c,c++ \89 --enable-multilib \90 --with-multilib-list=$mlist \91 --disable-bootstrap \92 74 --with-system-zlib</userinput></screen> 93 75 … … 261 243 SEARCH_DIR("/usr/lib");</computeroutput></screen> 262 244 263 <para arch="default">A 32-bit system may see a few different directories. For example, here245 <para>A 32-bit system may see a few different directories. For example, here 264 246 is the output from an i686 machine:</para> 265 247 266 <!-- not using entities here as the dir names has nothing to do with multilib --> 267 <screen arch="default"><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32") 248 <screen><computeroutput>SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32") 268 249 SEARCH_DIR("/usr/local/lib32") 269 250 SEARCH_DIR("/lib32") -
chapter08/glibc.xml
r4605657 rc7b29be 71 71 <para>Prepare Glibc for compilation:</para> 72 72 73 <screen arch="default"><userinput remap="configure">../configure --prefix=/usr \73 <screen><userinput remap="configure">../configure --prefix=/usr \ 74 74 --disable-werror \ 75 75 --enable-kernel=&min-kernel; \ 76 76 --enable-stack-protector=strong \ 77 77 --with-headers=/usr/include \ 78 libc_cv_slibdir=/usr/lib</userinput></screen>79 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \80 --disable-werror \81 --enable-kernel=&min-kernel; \82 --enable-stack-protector=strong \83 --with-headers=/usr/include \84 --enable-multi-arch \85 78 libc_cv_slibdir=/usr/lib</userinput></screen> 86 79 … … 485 478 </sect2> 486 479 487 <!-- - - - - - - - - - -->488 <!-- Multilib - 32bit -->489 <!-- - - - - - - - - - -->490 <sect2 arch="ml_32,ml_all">491 <title>Building Glibc - 32bit</title>492 493 <para>Now recompile for m32. The extracted source can be494 reused but needs to be cleaned before installing the m32495 version of Glibc.</para>496 497 <para>Clear the build directory and remove artefacts from498 previous build:</para>499 500 <screen><userinput remap="pre">rm -rf ./*501 find .. -name "*.a" -delete</userinput></screen>502 503 <para>Configure Glibc for m32 with the following commands:</para>504 505 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \506 ../configure \507 --prefix=/usr \508 --host=i686-pc-linux-gnu \509 --build=$(../scripts/config.guess) \510 --enable-kernel=&min-kernel; \511 --with-headers=/usr/include \512 --enable-multi-arch \513 --libdir=/usr/lib32 \514 --libexecdir=/usr/lib32 \515 libc_cv_slibdir=/usr/lib32</userinput></screen>516 517 <para>Compile the package:</para>518 519 <screen><userinput remap="make">make</userinput></screen>520 521 <para>Install the package:</para>522 523 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install524 cp -a DESTDIR/usr/lib32/* /usr/lib32/525 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-32.h \526 /usr/include/gnu/</userinput></screen>527 <!-- no longer required as they are created in chap5528 ln -svf ../lib32/ld-linux.so.2 /lib/ld-linux.so.2529 -->530 531 <para>Add the library name to the dynamic loader config:</para>532 533 <screen role="install"><userinput>echo "/usr/lib32" >> /etc/ld.so.conf</userinput></screen>534 535 <caution>536 <para>At this point, it is imperative to stop and ensure that the basic537 functions (compiling and linking) of the new toolchain are working as538 expected. To perform a sanity check, run the following commands:</para>539 540 <screen><userinput>echo 'int main(){}' > dummy.c541 gcc -m32 dummy.c542 readelf -l a.out | grep '/ld-linux'</userinput></screen>543 544 <para>If everything is working correctly, there should be no errors,545 and the output of the last command will be of the form:</para>546 547 <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>548 549 <para>If the output is not shown as above or there was no output at all,550 then something is wrong. Investigate and retrace the steps to find out551 where the problem is and correct it. This issue must be resolved before552 continuing on.</para>553 554 <para>Once all is well, clean up the test files:</para>555 556 <screen><userinput>rm -v dummy.c a.out</userinput></screen>557 558 </caution>559 560 </sect2><!-- m32 -->561 562 <!-- - - - - - - - - - -->563 <!-- Multilib - x32bit -->564 <!-- - - - - - - - - - -->565 566 <sect2 arch="ml_x32,ml_all">567 <title>Building Glibc - x32bit</title>568 569 <para>Now recompile for mx32. The extracted source can be570 reused but needs to be cleaned before installing the mx32571 version of Glibc.</para>572 573 <para>Clear the build directory and remove artefacts from574 previous build:</para>575 576 <screen><userinput remap="pre">rm -rf ./*577 find .. -name "*.a" -delete</userinput></screen>578 579 <para>Configure Glibc for mx32 with the following commands:</para>580 581 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \582 ../configure \583 --prefix=/usr \584 --host=x86_64-pc-linux-gnux32 \585 --build=$(../scripts/config.guess) \586 --enable-kernel=&min-kernel; \587 --with-headers=/usr/include \588 --enable-multi-arch \589 --libdir=/usr/libx32 \590 --libexecdir=/usr/libx32 \591 libc_cv_slibdir=/usr/libx32</userinput></screen>592 593 <para>Compile the package:</para>594 595 <screen><userinput remap="make">make</userinput></screen>596 597 <para>Install the package:</para>598 599 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install600 cp -a DESTDIR/usr/libx32/* /usr/libx32/601 install -vm644 DESTDIR/usr/include/gnu/{lib-names,stubs}-x32.h \602 /usr/include/gnu/</userinput></screen>603 <!-- no longer required as they are created in chap5604 ln -svf ../libx32/ld-linux-x32.so.2 /lib/ld-linux-x32.so.2605 -->606 <para>Add the library name to the dynamic loader config:</para>607 608 <screen role="install"><userinput>echo "/usr/libx32" >> /etc/ld.so.conf</userinput></screen>609 610 <caution>611 <para>At this point, it is imperative to stop and ensure that the basic612 functions (compiling and linking) of the new toolchain are working as613 expected. To perform a sanity check, run the following commands:</para>614 615 <screen><userinput>echo 'int main(){}' > dummy.c616 gcc -mx32 dummy.c617 readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>618 619 <para>If everything is working correctly, there should be no errors,620 and the output of the last command will be of the form:</para>621 622 <screen><computeroutput>[Requesting program interpreter: /libx32/ld-linux-x32.so.2]</computeroutput></screen>623 624 <para>If the output is not shown as above or there was no output at all,625 then something is wrong. Investigate and retrace the steps to find out626 where the problem is and correct it. This issue must be resolved before627 continuing on.</para>628 629 <para>Once all is well, clean up the test files:</para>630 631 <screen><userinput>rm -v dummy.c a.out</userinput></screen>632 633 </caution>634 635 </sect2><!-- mx32 -->636 637 480 <sect2 id="contents-glibc" role="content"> 638 481 <title>Contents of Glibc</title> -
chapter08/gmp.xml
r4605657 rc7b29be 121 121 </sect2> 122 122 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 running135 the following:</para>136 137 <screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess138 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 but161 has same name. Therefore, the headers must be separated from162 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\)/' Makefile171 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>&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 install190 cp -Rv DESTDIR/usr/lib32/* /usr/lib32191 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 running208 the following:</para>209 210 <screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess211 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\)/' Makefile230 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>&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 install249 cp -Rv DESTDIR/usr/libx32/* /usr/libx32250 cp -Rv DESTDIR/usr/include/mx32/* /usr/include/mx32/251 rm -rf DESTDIR</userinput></screen>252 253 </sect2><!-- mx32 -->254 255 123 <sect2 id="contents-gmp" role="content"> 256 124 <title>Contents of GMP</title> -
chapter08/kmod.xml
r4605657 rc7b29be 98 98 99 99 </sect2> 100 101 <!-- - - - - - - - - - -->102 <!-- Multilib - 32bit -->103 <!-- - - - - - - - - - -->104 105 <sect2 arch="ml_32,ml_all" role="installation">106 <title>Installation of Kmod - 32bit</title>107 108 <para>Clean previous build but keep man pages as they cannot109 be recreated since xsltproc isn't installed yet:</para>110 111 <screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile112 make clean</userinput></screen>113 114 <para>Prepare Kmod 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 --sysconfdir=/etc \121 --with-xz \122 --with-zstd \123 --with-zlib \124 --with-rootlibdir=/usr/lib32</userinput></screen>125 126 <para>Compile the package:</para>127 128 <screen><userinput remap="make">make</userinput></screen>129 130 <para>Install the package:</para>131 132 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install133 cp -Rv DESTDIR/usr/lib32/* /usr/lib32134 rm -rf DESTDIR</userinput></screen>135 136 </sect2><!-- m32 -->137 138 <!-- - - - - - - - - - -->139 <!-- Multilib - x32bit -->140 <!-- - - - - - - - - - -->141 142 <sect2 arch="ml_x32,ml_all" role="installation">143 <title>Installation of Kmod - x32bit</title>144 145 <para>Clean previous build but keep man pages as they cannot146 be recreated since xsltproc isn't installed yet:</para>147 148 <screen><userinput remap="pre">sed -e "s/^CLEANFILES =.*/CLEANFILES =/" -i man/Makefile149 make clean</userinput></screen>150 151 <para>Prepare Kmod for compilation:</para>152 153 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \154 --host=x86_64-pc-linux-gnux32 \155 --prefix=/usr \156 --libdir=/usr/libx32 \157 --sysconfdir=/etc \158 --with-xz \159 --with-zstd \160 --with-zlib \161 --with-rootlibdir=/usr/libx32</userinput></screen>162 163 <para>Compile the package:</para>164 165 <screen><userinput remap="make">make</userinput></screen>166 167 <para>Install the package:</para>168 169 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install170 cp -Rv DESTDIR/usr/libx32/* /usr/libx32171 rm -rf DESTDIR</userinput></screen>172 173 </sect2><!-- mx32 -->174 100 175 101 <sect2 id="contents-kmod" role="content"> -
chapter08/libcap.xml
r4605657 rc7b29be 75 75 76 76 </sect2> 77 78 <!-- - - - - - - - - - -->79 <!-- Multilib - 32bit -->80 <!-- - - - - - - - - - -->81 82 <sect2 arch="ml_32,ml_all" role="installation">83 <title>Installation of Libcap - 32bit</title>84 85 <para>Clean previous build:</para>86 87 <screen><userinput remap="pre">make distclean</userinput></screen>88 89 <para>Compile the package:</para>90 91 <screen><userinput remap="make">make CC="gcc -m32 -march=i686"</userinput></screen>92 93 <para>Install the package:</para>94 95 <screen><userinput remap="install">make CC="gcc -m32 -march=i686" lib=lib32 prefix=$PWD/DESTDIR/usr -C libcap install96 cp -Rv DESTDIR/usr/lib32/* /usr/lib3297 sed -e "s|^libdir=.*|libdir=/usr/lib32|" -i /usr/lib32/pkgconfig/lib{cap,psx}.pc98 chmod -v 755 /usr/lib32/libcap.so.&libcap-version;99 rm -rf DESTDIR</userinput></screen>100 101 </sect2><!-- m32 -->102 103 <!-- - - - - - - - - - -->104 <!-- Multilib - x32bit -->105 <!-- - - - - - - - - - -->106 107 <sect2 arch="ml_x32,ml_all" role="installation">108 <title>Installation of Libcap - x32bit</title>109 110 <para>Clean previous build:</para>111 112 <screen><userinput remap="pre">make distclean</userinput></screen>113 114 <para>Compile the package:</para>115 116 <screen><userinput remap="make">make CC="gcc -mx32 -march=x86-64"</userinput></screen>117 118 <para>Install the package:</para>119 120 <screen><userinput remap="install">make CC="gcc -mx32 -march=x86-64" lib=libx32 prefix=$PWD/DESTDIR/usr -C libcap install121 cp -Rv DESTDIR/usr/libx32/* /usr/libx32122 sed -e "s|^libdir=.*|libdir=/usr/libx32|" -i /usr/libx32/pkgconfig/lib{cap,psx}.pc123 chmod -v 755 /usr/libx32/libcap.so.&libcap-version;124 rm -rf DESTDIR</userinput></screen>125 126 </sect2><!-- mx32 -->127 77 128 78 <sect2 id="contents-libcap" role="content"> -
chapter08/libelf.xml
r4605657 rc7b29be 69 69 </sect2> 70 70 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 install98 install -vDm644 config/libelf.pc DESTDIR/usr/lib32/pkgconfig/libelf.pc99 cp -Rv DESTDIR/usr/lib32/* /usr/lib32100 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 install131 install -vDm644 config/libelf.pc DESTDIR/usr/libx32/pkgconfig/libelf.pc132 cp -Rv DESTDIR/usr/libx32/* /usr/libx32133 rm -rf DESTDIR</userinput></screen>134 135 </sect2><!-- mx32 -->136 137 71 <sect2 id="contents-elfutils" role="content"> 138 72 <title>Contents of Libelf</title> -
chapter08/libffi.xml
r4605657 rc7b29be 103 103 </sect2> 104 104 105 <!-- - - - - - - - - - -->106 <!-- Multilib - 32bit -->107 <!-- - - - - - - - - - -->108 109 <sect2 arch="ml_32,ml_all" role="installation">110 <title>Installation of Libffi - 32bit</title>111 112 <para>Clean previous build:</para>113 114 <screen><userinput remap="pre">make distclean</userinput></screen>115 116 <para>Prepare Libffi for compilation:</para>117 118 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" ./configure \119 --host=i686-pc-linux-gnu \120 --prefix=/usr \121 --libdir=/usr/lib32 \122 --disable-static \123 --with-gcc-arch=i686 \124 --disable-exec-static-tramp</userinput></screen>125 126 <para>Compile the package:</para>127 128 <screen><userinput remap="make">make</userinput></screen>129 130 <para>To test the results, issue:</para>131 132 <screen><userinput remap="test">make check</userinput></screen>133 134 <para>Install the package:</para>135 136 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install137 cp -Rv DESTDIR/usr/lib32/* /usr/lib32138 rm -rf DESTDIR</userinput></screen>139 140 </sect2><!-- m32 -->141 142 <!-- - - - - - - - - - -->143 <!-- Multilib - x32bit -->144 <!-- - - - - - - - - - -->145 146 <sect2 arch="ml_x32,ml_all" role="installation">147 <title>Installation of Libffi - x32bit</title>148 149 <para>Clean previous build:</para>150 151 <screen><userinput remap="pre">make distclean</userinput></screen>152 153 <para>Prepare Libffi for compilation:</para>154 155 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" ./configure \156 --host=x86_64-unknown-linux-gnux32 \157 --prefix=/usr \158 --libdir=/usr/libx32 \159 --disable-static \160 --with-gcc-arch=x86_64 \161 --disable-exec-static-tramp</userinput></screen>162 163 <para>Compile the package:</para>164 165 <screen><userinput remap="make">make</userinput></screen>166 167 <para>To test the results, issue:</para>168 169 <screen><userinput remap="test">make check</userinput></screen>170 171 <para>Install the package:</para>172 173 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install174 cp -Rv DESTDIR/usr/libx32/* /usr/libx32175 rm -rf DESTDIR</userinput></screen>176 177 </sect2><!-- mx32 -->178 179 105 <sect2 id="contents-libffi" role="content"> 180 106 <title>Contents of Libffi</title> … … 207 133 208 134 </sect1> 135 -
chapter08/libtool.xml
r4605657 rc7b29be 78 78 </sect2> 79 79 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 install105 cp -Rv DESTDIR/usr/lib32/* /usr/lib32106 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 install135 cp -Rv DESTDIR/usr/libx32/* /usr/libx32136 rm -rf DESTDIR</userinput></screen>137 138 </sect2><!-- mx32 -->139 80 140 81 <sect2 id="contents-libtool" role="content"> -
chapter08/ncurses.xml
r4605657 rc7b29be 161 161 162 162 </sect2> 163 164 <!-- - - - - - - - - - -->165 <!-- Multilib - 32bit -->166 <!-- - - - - - - - - - -->167 <sect2 arch="ml_32,ml_all">168 <title>Building Ncurses - 32bit</title>169 170 <para>Clean previous build:</para>171 172 <screen><userinput remap="pre">make distclean</userinput></screen>173 174 <para>Prepare Ncurses for compilation:</para>175 176 <screen><userinput remap="configure">CC="gcc -m32" CXX="g++ -m32" \177 ./configure --prefix=/usr \178 --host=i686-pc-linux-gnu \179 --libdir=/usr/lib32 \180 --mandir=/usr/share/man \181 --with-shared \182 --without-debug \183 --without-normal \184 --enable-pc-files \185 --enable-widec \186 --with-pkg-config-libdir=/usr/lib32/pkgconfig</userinput></screen>187 188 <para>Compile the package:</para>189 190 <screen><userinput remap="make">make</userinput></screen>191 192 <para>Install the package:</para>193 194 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install195 mkdir -p DESTDIR/usr/lib32/pkgconfig196 for lib in ncurses form panel menu ; do197 rm -vf DESTDIR/usr/lib32/lib${lib}.so198 echo "INPUT(-l${lib}w)" > DESTDIR/usr/lib32/lib${lib}.so199 ln -svf ${lib}w.pc DESTDIR/usr/lib32/pkgconfig/$lib.pc200 done201 rm -vf DESTDIR/usr/lib32/libcursesw.so202 echo "INPUT(-lncursesw)" > DESTDIR/usr/lib32/libcursesw.so203 ln -sfv libncurses.so DESTDIR/usr/lib32/libcurses.so204 cp -Rv DESTDIR/usr/lib32/* /usr/lib32205 rm -rf DESTDIR</userinput></screen>206 207 </sect2><!-- m32 -->208 209 <!-- - - - - - - - - - -->210 <!-- Multilib - x32bit -->211 <!-- - - - - - - - - - -->212 <sect2 arch="ml_x32,ml_all">213 <title>Building Ncurses - x32bit</title>214 215 <para>Clean previous build:</para>216 217 <screen><userinput remap="pre">make distclean</userinput></screen>218 219 <para>Prepare Ncurses for compilation:</para>220 221 <screen><userinput remap="configure">CC="gcc -mx32" CXX="g++ -mx32" \222 ./configure --prefix=/usr \223 --host=x86_64-pc-linux-gnux32 \224 --libdir=/usr/libx32 \225 --mandir=/usr/share/man \226 --with-shared \227 --without-debug \228 --without-normal \229 --enable-pc-files \230 --enable-widec \231 --with-pkg-config-libdir=/usr/libx32/pkgconfig</userinput></screen>232 233 <para>Compile the package:</para>234 235 <screen><userinput remap="make">make</userinput></screen>236 237 <para>Install the package:</para>238 239 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install240 mkdir -p DESTDIR/usr/libx32/pkgconfig241 for lib in ncurses form panel menu ; do242 rm -vf DESTDIR/usr/libx32/lib${lib}.so243 echo "INPUT(-l${lib}w)" > DESTDIR/usr/libx32/lib${lib}.so244 ln -svf ${lib}w.pc DESTDIR/usr/libx32/pkgconfig/$lib.pc245 done246 rm -vf DESTDIR/usr/libx32/libcursesw.so247 echo "INPUT(-lncursesw)" > DESTDIR/usr/libx32/libcursesw.so248 ln -sfv libncurses.so DESTDIR/usr/libx32/libcurses.so249 cp -Rv DESTDIR/usr/libx32/* /usr/libx32250 rm -rf DESTDIR</userinput></screen>251 252 </sect2><!-- mx32 -->253 163 254 164 <sect2 id="contents-ncurses" role="content"> -
chapter08/openssl.xml
r4605657 rc7b29be 103 103 </sect2> 104 104 105 <!-- - - - - - - - - - -->106 <!-- Multilib - 32bit -->107 <!-- - - - - - - - - - -->108 109 <sect2 arch="ml_32,ml_all" role="installation">110 <title>Installation of OpenSSL - 32bit</title>111 112 <para>Clean previous build:</para>113 114 <screen><userinput remap="pre">make distclean</userinput></screen>115 116 <para>Prepare OpenSSL for compilation:</para>117 118 <screen><userinput remap="configure">CFLAGS="-m32 -march=i686 -Wall -O3" CXXFLAGS="$CFLAGS" \119 ./config --prefix=/usr \120 --openssldir=/etc/ssl \121 --libdir=lib32 \122 shared \123 zlib-dynamic \124 linux-generic32</userinput></screen>125 126 <para>Compile the package:</para>127 128 <screen><userinput remap="make">make</userinput></screen>129 130 <para>Install the package:</para>131 132 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install133 cp -Rv DESTDIR/usr/lib32/* /usr/lib32134 rm -rf DESTDIR</userinput></screen>135 136 </sect2><!-- m32 -->137 138 <!-- - - - - - - - - - -->139 <!-- Multilib - x32bit -->140 <!-- - - - - - - - - - -->141 142 <sect2 arch="ml_x32,ml_all" role="installation">143 <title>Installation of OpenSSL - x32bit</title>144 145 <para>Clean previous build:</para>146 147 <screen><userinput remap="pre">make distclean</userinput></screen>148 149 <para>Prepare OpenSSL for compilation:</para>150 151 <screen><userinput remap="configure">CFLAGS="-mx32 -march=x86-64 -Wall -O3" CXXFLAGS="$CFLAGS" \152 ./config --prefix=/usr \153 --openssldir=/etc/ssl \154 --libdir=libx32 \155 shared \156 zlib-dynamic \157 linux-x32</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 install166 cp -Rv DESTDIR/usr/libx32/* /usr/libx32167 rm -rf DESTDIR</userinput></screen>168 169 </sect2><!-- mx32 -->170 171 105 <sect2 id="contents-openssl" role="content"> 172 106 <title>Contents of OpenSSL</title> -
chapter08/readline.xml
r4605657 rc7b29be 101 101 </sect2> 102 102 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 SHLIB_LIBS="-lncursesw"</userinput></screen>125 126 <para>Install the package:</para>127 128 <screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install129 cp -Rv DESTDIR/usr/lib32/* /usr/lib32130 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 SHLIB_LIBS="-lncursesw"</userinput></screen>156 157 <para>Install the package:</para>158 159 <screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" DESTDIR=$PWD/DESTDIR install160 cp -Rv DESTDIR/usr/libx32/* /usr/libx32161 rm -rf DESTDIR</userinput></screen>162 163 </sect2><!-- mx32 -->164 165 103 <sect2 id="contents-readline" role="content"> 166 104 <title>Contents of Readline</title> -
chapter08/stripping.xml
r4605657 rc7b29be 59 59 60 60 cd /usr/lib 61 61 62 for LIB in $save_usrlib; do 62 63 objcopy --only-keep-debug $LIB $LIB.dbg … … 66 67 install -vm755 /tmp/$LIB /usr/lib 67 68 rm /tmp/$LIB 68 done</userinput> 69 <userinput arch="ml_32,ml_all"> 70 cd /usr/lib32 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/lib32 77 rm /tmp/$LIB 78 done</userinput> 79 <userinput arch="ml_x32,ml_all"> 80 cd /usr/libx32 81 for LIB in $save_usrlib; do 82 objcopy --only-keep-debug $LIB $LIB.dbg 83 cp $LIB /tmp/$LIB 84 strip --strip-unneeded /tmp/$LIB 85 objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB 86 install -vm755 /tmp/$LIB /usr/libx32 87 rm /tmp/$LIB 88 done</userinput><userinput> 69 done 89 70 90 71 online_usrbin="bash find strip" … … 109 90 install -vm755 /tmp/$LIB /usr/lib 110 91 rm /tmp/$LIB 111 done</userinput><userinput arch="ml_32,ml_all"> 112 for LIB in $online_usrlib; do 113 cp /usr/lib32/$LIB /tmp/$LIB 114 strip --strip-unneeded /tmp/$LIB 115 install -vm755 /tmp/$LIB /usr/lib32 116 rm /tmp/$LIB 117 done</userinput><userinput arch="ml_x32,ml_all"> 118 for LIB in $online_usrlib; do 119 cp /usr/libx32/$LIB /tmp/$LIB 120 strip --strip-unneeded /tmp/$LIB 121 install -vm755 /tmp/$LIB /usr/libx32 122 rm /tmp/$LIB 123 done</userinput><userinput> 92 done 124 93 125 94 for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ … … 132 101 ;; 133 102 esac 134 done</userinput><userinput arch="ml_32,ml_all"> 135 for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg); do 136 case "$online_usrbin $online_usrlib $save_usrlib" in 137 *$(basename $i)* ) 138 ;; 139 * ) strip --strip-unneeded $i 140 ;; 141 esac 142 done</userinput><userinput arch="ml_x32,ml_all"> 143 for i in $(find /usr/libx32 -type f -name \*.so* ! -name \*dbg); do 144 case "$online_usrbin $online_usrlib $save_usrlib" in 145 *$(basename $i)* ) 146 ;; 147 * ) strip --strip-unneeded $i 148 ;; 149 esac 150 done</userinput><userinput> 103 done 151 104 152 105 unset BIN LIB save_usrlib online_usrbin online_usrlib -
chapter08/systemd.xml
r4605657 rc7b29be 209 209 210 210 </sect2> 211 212 <!-- - - - - - - - - - -->213 <!-- Multilib - 32bit -->214 <!-- - - - - - - - - - -->215 216 <sect2 arch="ml_32,ml_all" role="installation">217 <title>Installation of systemd - 32-bit</title>218 219 <para>Clean previous build:</para>220 221 <screen><userinput remap="pre">rm -rf *</userinput></screen>222 223 <para>Create a symlink to work around missing xsltproc:</para>224 225 <!-- screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen -->226 <screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>227 228 <!-- with cross-LFS we have util-linux in place: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}*; do233 ln -sf $file /usr/lib32/234 done</userinput></screen>235 -->236 237 <para>Prepare systemd for compilation:</para>238 239 <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \240 CC="gcc -m32 -march=i686" \241 CXX="g++ -m32 -march=i686" \242 LANG=en_US.UTF-8 \243 meson --prefix=/usr \244 --sysconfdir=/etc \245 --localstatedir=/var \246 -Drootlibdir=/usr/lib32 \247 -Dblkid=true \248 -Ddefault-dnssec=no \249 -Dfirstboot=false \250 -Dinstall-tests=false \251 -Dldconfig=false \252 -Dsysusers=false \253 -Db_lto=false \254 -Drpmmacrosdir=no \255 -Dhomed=false \256 -Duserdb=false \257 -Dman=false \258 -Dmode=release \259 ..</userinput></screen>260 261 <para>Compile the package:</para>262 263 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>264 265 <para>Install the package:</para>266 267 <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install268 cp -Rv DESTDIR/usr/lib32/* /usr/lib32269 rm -rf DESTDIR270 rm -f /usr/bin/xsltproc</userinput></screen>271 272 </sect2><!-- m32 -->273 274 <!-- - - - - - - - - - -->275 <!-- Multilib - x32bit -->276 <!-- - - - - - - - - - -->277 278 <sect2 arch="ml_x32,ml_all" role="installation">279 <title>Installation of systemd - x32-bit</title>280 281 <para>Clean previous build:</para>282 283 <screen><userinput remap="pre">rm -rf *</userinput></screen>284 285 <para>Create a symlink to work around missing xsltproc:</para>286 287 <screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>288 <!--289 <para>Fix an issue on x32:</para>290 291 <screen><userinput remap="pre">sed '/log_debug/s@PRI_TIMEX@PRIi64@' -i src/timesync/timesyncd-manager.c292 sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</userinput></screen>293 -->294 <para>Prepare systemd for compilation:</para>295 296 <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \297 CC="gcc -mx32" \298 CXX="g++ -mx32" \299 CFLAGS+="-Wno-error=shift-overflow" \300 CXXFLAGS+="-Wno-error=shift-overflow" \301 LANG=en_US.UTF-8 \302 meson --prefix=/usr \303 --sysconfdir=/etc \304 --localstatedir=/var \305 -Drootlibdir=/usr/libx32 \306 -Dblkid=true \307 -Ddefault-dnssec=no \308 -Dfirstboot=false \309 -Dinstall-tests=false \310 -Dldconfig=false \311 -Dsysusers=false \312 -Db_lto=false \313 -Drpmmacrosdir=no \314 -Dhomed=false \315 -Duserdb=false \316 -Dman=false \317 -Dmode=release \318 ..</userinput></screen>319 320 <para>Compile the package:</para>321 322 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>323 324 <para>Install the package:</para>325 326 <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install327 cp -Rv DESTDIR/usr/libx32/* /usr/libx32328 rm -rf DESTDIR329 rm -f /usr/bin/xsltproc</userinput></screen>330 331 </sect2><!-- mx32 -->332 211 333 212 <sect2 id="contents-systemd" role="content"> -
chapter08/util-linux.xml
r4605657 rc7b29be 113 113 --> 114 114 </sect2> 115 116 <!-- - - - - - - - - - -->117 <!-- Multilib - 32bit -->118 <!-- - - - - - - - - - -->119 120 <sect2 arch="ml_32,ml_all" role="installation">121 <title>Installation of Util-linux - 32-bit</title>122 123 <para>Clean previous build:</para>124 125 <screen><userinput remap="pre">make distclean</userinput></screen>126 127 <para>Move a tool out of the way which is optionally used by128 configure but will report invalid pathes for multilib builds.</para>129 130 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>131 132 <para>Prepare Util-linux for compilation:</para>133 134 <screen revision="sysv"><userinput remap="configure">CC="gcc -m32" \135 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \136 --host=i686-pc-linux-gnu \137 --libdir=/usr/lib32 \138 --docdir=/usr/share/doc/util-linux-&util-linux-version; \139 --disable-chfn-chsh \140 --disable-login \141 --disable-nologin \142 --disable-su \143 --disable-setpriv \144 --disable-runuser \145 --disable-pylibmount \146 --disable-static \147 --without-python \148 --without-systemd \149 --without-systemdsystemunitdir</userinput></screen>150 151 <screen revision="systemd"><userinput remap="configure">CC="gcc -m32" \152 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \153 --host=i686-pc-linux-gnu \154 --libdir=/usr/lib32 \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</userinput></screen>165 166 <para>Restore the tool previously moved away:</para>167 168 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>169 170 <para>Compile the package:</para>171 172 <screen><userinput remap="make">make</userinput></screen>173 174 <para>Install the package:</para>175 176 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install177 cp -Rv DESTDIR/usr/lib32/* /usr/lib32178 rm -rf DESTDIR</userinput></screen>179 180 </sect2><!-- m32 -->181 182 <!-- - - - - - - - - - -->183 <!-- Multilib - x32bit -->184 <!-- - - - - - - - - - -->185 186 <sect2 arch="ml_x32,ml_all" role="installation">187 <title>Installation of Util-linux - x32-bit</title>188 189 <para>Clean previous build:</para>190 191 <screen><userinput remap="pre">make distclean</userinput></screen>192 193 <para>Move a tool out of the way which is optionally used by194 configure but will report invalid pathes for multilib builds.</para>195 196 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{,.tmp}</userinput></screen>197 198 <para>Prepare Util-linux for compilation:</para>199 200 <screen revision="sysv"><userinput remap="configure">CC="gcc -mx32" \201 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \202 --host=x86_64-pc-linux-gnux32 \203 --libdir=/usr/libx32 \204 --docdir=/usr/share/doc/util-linux-&util-linux-version; \205 --disable-chfn-chsh \206 --disable-login \207 --disable-nologin \208 --disable-su \209 --disable-setpriv \210 --disable-runuser \211 --disable-pylibmount \212 --disable-static \213 --without-python \214 --without-systemd \215 --without-systemdsystemunitdir</userinput></screen>216 217 <screen revision="systemd"><userinput remap="configure">CC="gcc -mx32" \218 ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \219 --host=x86_64-pc-linux-gnux32 \220 --libdir=/usr/libx32 \221 --docdir=/usr/share/doc/util-linux-&util-linux-version; \222 --disable-chfn-chsh \223 --disable-login \224 --disable-nologin \225 --disable-su \226 --disable-setpriv \227 --disable-runuser \228 --disable-pylibmount \229 --disable-static \230 --without-python</userinput></screen>231 232 <para>Restore the tool previously moved away:</para>233 234 <screen><userinput remap="configure">mv /usr/bin/ncursesw6-config{.tmp,}</userinput></screen>235 236 <para>Compile the package:</para>237 238 <screen><userinput remap="make">make</userinput></screen>239 240 <para>Install the package:</para>241 242 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install243 cp -Rv DESTDIR/usr/libx32/* /usr/libx32244 rm -rf DESTDIR</userinput></screen>245 246 </sect2><!-- mx32 -->247 115 248 116 <sect2 id="contents-utillinux" role="content"> -
chapter08/xz.xml
r4605657 rc7b29be 68 68 69 69 </sect2> 70 71 <!-- - - - - - - - - - -->72 <!-- Multilib - 32bit -->73 <!-- - - - - - - - - - -->74 75 <sect2 arch="ml_32,ml_all" role="installation">76 <title>Installation of Xz - 32bit</title>77 78 <para>Clean previous build:</para>79 80 <screen><userinput remap="pre">make distclean</userinput></screen>81 82 <para>Prepare Xz for compilation:</para>83 84 <screen><userinput remap="configure">CC="gcc -m32" ./configure \85 --host=i686-pc-linux-gnu \86 --prefix=/usr \87 --libdir=/usr/lib32 \88 --disable-static</userinput></screen>89 90 <para>Compile the package:</para>91 92 <screen><userinput remap="make">make</userinput></screen>93 94 <para>Install the package:</para>95 96 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install97 cp -Rv DESTDIR/usr/lib32/* /usr/lib3298 rm -rf DESTDIR</userinput></screen>99 100 </sect2><!-- m32 -->101 102 <!-- - - - - - - - - - -->103 <!-- Multilib - x32bit -->104 <!-- - - - - - - - - - -->105 106 <sect2 arch="ml_x32,ml_all" role="installation">107 <title>Installation of Xz - x32bit</title>108 109 <para>Clean previous build:</para>110 111 <screen><userinput remap="pre">make distclean</userinput></screen>112 113 <para>Prepare Xz for compilation:</para>114 115 <screen><userinput remap="configure">CC="gcc -mx32" ./configure \116 --host=x86_64-pc-linux-gnux32 \117 --prefix=/usr \118 --libdir=/usr/libx32 \119 --disable-static</userinput></screen>120 121 <para>Compile the package:</para>122 123 <screen><userinput remap="make">make</userinput></screen>124 125 <para>Install the package:</para>126 127 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install128 cp -Rv DESTDIR/usr/libx32/* /usr/libx32129 rm -rf DESTDIR</userinput></screen>130 131 </sect2><!-- mx32 -->132 70 133 71 <sect2 id="contents-xz" role="content"> -
chapter08/zlib.xml
r4605657 rc7b29be 64 64 </sect2> 65 65 66 <!-- - - - - - - - - - -->67 <!-- Multilib - 32bit -->68 <!-- - - - - - - - - - -->69 70 <sect2 arch="ml_32,ml_all" role="installation">71 <title>Installation of Zlib - 32bit</title>72 73 <para>Clean previous build:</para>74 75 <screen><userinput remap="pre">make distclean</userinput></screen>76 77 <para>Prepare Zlib for compilation:</para>78 79 <screen><userinput remap="configure">CFLAGS+="-m32" CXXFLAGS+="-m32" \80 ./configure --prefix=/usr \81 --libdir=/usr/lib32</userinput></screen>82 83 <para>Compile the package:</para>84 85 <screen><userinput remap="make">make</userinput></screen>86 87 <para>Install the package:</para>88 89 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install90 cp -Rv DESTDIR/usr/lib32/* /usr/lib3291 rm -rf DESTDIR</userinput></screen>92 93 </sect2><!-- m32 -->94 95 <!-- - - - - - - - - - -->96 <!-- Multilib - x32bit -->97 <!-- - - - - - - - - - -->98 99 <sect2 arch="ml_x32,ml_all" role="installation">100 <title>Installation of Zlib - x32bit</title>101 102 <screen><userinput remap="pre">make distclean</userinput></screen>103 104 <para>Prepare Zlib for compilation:</para>105 106 <screen><userinput remap="configure">CFLAGS+="-mx32" CXXFLAGS+="-mx32" \107 ./configure --prefix=/usr \108 --libdir=/usr/libx32</userinput></screen>109 110 <para>Compile the package:</para>111 112 <screen><userinput remap="make">make</userinput></screen>113 114 <para>Install the package:</para>115 116 <screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install117 cp -Rv DESTDIR/usr/libx32/* /usr/libx32118 rm -rf DESTDIR</userinput></screen>119 120 </sect2><!-- mx32 -->121 122 66 <sect2 id="contents-zlib" role="content"> 123 67 <title>Contents of Zlib</title> -
chapter08/zstd.xml
r4605657 rc7b29be 69 69 70 70 </sect2> 71 72 <!-- - - - - - - - - - -->73 <!-- Multilib - 32bit -->74 <!-- - - - - - - - - - -->75 76 <sect2 arch="ml_32,ml_all" role="installation">77 <title>Installation of Zstd - 32bit</title>78 79 <para>Clean previous build:</para>80 81 <screen><userinput remap="pre">make clean</userinput></screen>82 83 <para>Compile the package:</para>84 85 <screen><userinput remap="make">CC="gcc -m32" make prefix=/usr</userinput></screen>86 87 <para>Install the package:</para>88 89 <screen><userinput remap="install">make prefix=/usr DESTDIR=$PWD/DESTDIR install90 cp -Rv DESTDIR/usr/lib/* /usr/lib32/91 sed -e "/^libdir/s/lib$/lib32/" -i /usr/lib32/pkgconfig/libzstd.pc92 rm -rf DESTDIR</userinput></screen>93 94 </sect2><!-- m32 -->95 96 <!-- - - - - - - - - - -->97 <!-- Multilib - x32bit -->98 <!-- - - - - - - - - - -->99 100 <sect2 arch="ml_x32,ml_all" role="installation">101 <title>Installation of Zstd - x32bit</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">CC="gcc -mx32" make prefix=/usr</userinput></screen>110 111 <para>Install the package:</para>112 113 <screen><userinput remap="install">make prefix=/usr DESTDIR=$PWD/DESTDIR install114 cp -Rv DESTDIR/usr/lib/* /usr/libx32/115 sed -e "/^libdir/s/lib$/libx32/" -i /usr/libx32/pkgconfig/libzstd.pc116 rm -rf DESTDIR</userinput></screen>117 118 </sect2><!-- mx32 -->119 71 120 72 <sect2 id="contents-zstd" role="content"> -
chapter10/kernel.xml
r4605657 rc7b29be 171 171 </note> 172 172 173 <note arch="ml_32,ml_x32,ml_all">174 <para>175 The kernel on a multilib system needs to be able to176 identify and start binaries compiled for different architectures177 than the default.178 </para>179 180 <para arch="ml_32,ml_all">181 If support for any 32bit ABI was built, make sure that the option182 "IA32 Emulation" is selected. The option 'IA32 a.out support' is183 optional.184 </para>185 186 <para arch="ml_x32,ml_all">187 If support for the x32bit ABI was built, make sure that the option188 "x32 ABI for 64-bit mode" is selected.189 </para>190 191 <screen arch="ml_32">Binary Emulations --->192 [*] IA32 Emulation [CONFIG_IA32_EMULATION]193 <M> IA32 a.out support [CONFIG_IA32_AOUT]194 </screen>195 <screen arch="ml_x32">Binary Emulations --->196 [*] x32 ABI for 64-bit mode [CONFIG_X86_X32]197 </screen>198 <screen arch="ml_all">Binary Emulations --->199 [*] IA32 Emulation [CONFIG_IA32_EMULATION]200 <M> IA32 a.out support [CONFIG_IA32_AOUT]201 [*] x32 ABI for 64-bit mode [CONFIG_X86_X32]202 </screen>203 </note>204 205 173 <variablelist> 206 174 <title>The rationale for the above configuration items:</title> -
packages.ent
r4605657 rc7b29be 354 354 <!ENTITY iproute2-fin-sbu "0.2 SBU"> 355 355 356 <!ENTITY isl-version "0.24">357 <!ENTITY isl-size "2.1 MB">358 <!-- ENTITY isl-url "http://isl.gforge.inria.fr/isl-&isl-version;.tar.xz" -->359 <!ENTITY isl-url "https://gcc.gnu.org/pub/gcc/infrastructure/isl-&isl-version;.tar.bz2">360 <!ENTITY isl-md5 "dd2f7b78e118c25bd96134a52aae7f4d">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 365 356 <!ENTITY jinja2-version "3.1.2"> 366 357 <!ENTITY jinja2-size "262 KB"> -
prologue/bookinfo.xml
r4605657 rc7b29be 8 8 <bookinfo> 9 9 <title>Linux From Scratch</title> 10 <subtitle>Version &version;< phrase arch="ml_32,ml_x32,ml_all">-multilib</phrase></subtitle>10 <subtitle>Version &version;</subtitle> 11 11 <subtitle>Published &releasedate;</subtitle> 12 12 … … 29 29 <firstname>Editor: DJ</firstname> 30 30 <surname>Lucas</surname> 31 </author>32 33 <author arch="ml_32,ml_x32,ml_all">34 <firstname>Editor: Thomas</firstname>35 <surname>Trepl</surname>36 31 </author> 37 32 </authorgroup> -
prologue/preface.xml
r4605657 rc7b29be 16 16 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/> 17 17 <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"/>19 18 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/> 20 19 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/>
Note:
See TracChangeset
for help on using the changeset viewer.