- Timestamp:
- 04/22/2019 06:40:16 AM (5 years ago)
- Branches:
- multilib-10.1
- Children:
- 5129e84
- Parents:
- 3c72497
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/glibc-32.xml
r3c72497 rd8fba27 20 20 <primary sortas="a-Glibc-32">Glibc-32</primary> 21 21 </indexterm> 22 <!--23 <sect2 role="package">24 <title/>25 22 26 <para>The Glibc package contains the main C library. This library provides 27 the basic routines for allocating memory, searching directories, opening and 28 closing files, reading and writing files, string handling, pattern matching, 29 arithmetic, and so on.</para> 30 31 <segmentedlist> 32 <segtitle>&buildtime;</segtitle> 33 <segtitle>&diskspace;</segtitle> 34 35 <seglistitem> 36 <seg>&glibc-ch6-sbu;</seg> 37 <seg>&glibc-ch6-du;</seg> 38 </seglistitem> 39 </segmentedlist> 40 41 </sect2> 42 --> 43 44 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ --> 45 46 <sect2 arch="ml_32,ml_all" role="installation"> 47 <title>Installation of Glibc - 32-bit</title> 23 <sect2 role="installation"> 24 <title>Preparation to install of ML-Glibc</title> 48 25 49 26 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen> … … 52 29 53 30 <screen><userinput remap="pre">mv /usr/include/limits.h{,.backup} </userinput></screen> 31 32 </sect2> 33 34 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI 32 ~~~~~~~~~~~~~~~~~~~~ --> 35 36 <sect2 arch="ml_32,ml_all" role="installation"> 37 <title>Installation of Glibc - 32-bit</title> 54 38 55 39 <para>The Glibc documentation recommends building Glibc … … 61 45 <para>Prepare Glibc for compilation:</para> 62 46 63 <screen><userinput remap="configure">CC="gcc -m32 -ffile-prefix-map=/tools=/usr -isystem /usr/include" \64 CXX="g++ -m32 -ffile-prefix-map=/tools=/usr -isystem /usr/include" \47 <screen><userinput remap="configure">CC="gcc -m32 -ffile-prefix-map=/tools=/usr" \ 48 CXX="g++ -m32 -ffile-prefix-map=/tools=/usr" \ 65 49 ../configure --prefix=/usr \ 66 50 --disable-werror \ … … 102 86 103 87 <!-- ~~~~~~~~~~~~~~~~~~~~ ABI x32 ~~~~~~~~~~~~~~~~~~~~ --> 88 89 <!-- 90 In case the compilation ends with 91 92 ... 93 if test -r /autolfs/sources/glibc-2.29/build/DESTDIR/usr/include/gnu/stubs-x32.h && cmp -s /autolfs/sources/glibc-2.29/build/stubs.h /autolfs/sources/glibc-2.29/build/DESTDIR/usr/include/gnu/stubs-x32.h; \ 94 then echo 'stubs.h unchanged'; \ 95 else /usr/bin/install -c -m 644 /autolfs/sources/glibc-2.29/build/stubs.h /autolfs/sources/glibc-2.29/build/DESTDIR/usr/include/gnu/stubs-x32.h; fi 96 rm -f /autolfs/sources/glibc-2.29/build/stubs.h 97 /autolfs/sources/glibc-2.29/build/elf/sln /autolfs/sources/glibc-2.29/build/elf/symlink.list 98 /autolfs/sources/glibc-2.29/build/elf/sln: /autolfs/sources/glibc-2.29/build/elf/sln: cannot execute binary file 99 make[1]: *** [Makefile:106: install-symbolic-link] Error 126 100 make[1]: Leaving directory '/autolfs/sources/glibc-2.29' 101 make: *** [Makefile:12: install] Error 2 102 103 it is a good sign that the actually running kernel isn't ML-enabled. 104 ArchLinux's kernels are configured like 105 106 CONFIG_IA32_EMULATION=y 107 # CONFIG_IA32_AOUT is not set 108 # CONFIG_X86_X32 is not set 109 110 It isn't x32-enabled ==> Error when building x32 stuff 111 --> 104 112 105 113 <sect2 arch="ml_x32,ml_all" role="installation"> … … 114 122 <para>Prepare Glibc for compilation:</para> 115 123 116 <screen><userinput remap="configure">CC="gcc -mx32 -ffile-prefix-map=/tools=/usr -isystem /usr/include" \117 CXX="g++ -mx32 -ffile-prefix-map=/tools=/usr -isystem /usr/include" \124 <screen><userinput remap="configure">CC="gcc -mx32 -ffile-prefix-map=/tools=/usr" \ 125 CXX="g++ -mx32 -ffile-prefix-map=/tools=/usr" \ 118 126 ../configure --prefix=/usr \ 119 127 --disable-werror \ … … 154 162 rm -rf build</userinput></screen> 155 163 164 </sect2> 165 166 <!-- ~~~~~~~~~~~~~~~~~~~~ Cleanup ~~~~~~~~~~~~~~~~~~~~ --> 167 168 <sect2 role="installation"> 169 <title>Cleanup</title> 170 156 171 <para>Restore the file we moved temporarily away:</para> 157 172 … … 159 174 160 175 </sect2> 161 176 162 177 </sect1> 163
Note:
See TracChangeset
for help on using the changeset viewer.