source: LFS-SVN-no-lib64-20161202.diff@ d49e97c

Last change on this file since d49e97c was d49e97c, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Create branch without lib64 symlinks

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

  • Property mode set to 100644
File size: 6.7 KB
  • chapter05/gcc-pass1.xml

     
    6868    class="directory">/usr/include</filename> from GCC's include search path.
    6969    Issue:</para>
    7070
    71 <screen><userinput remap="pre">for file in \
    72  $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
     71<screen><userinput remap="pre">for file in gcc/config/{linux,i386/linux{,64}}.h
    7372do
    7473  cp -uv $file{,.orig}
    7574  sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
     
    9796    Finally, we use <command>touch</command> to update the timestamp on the
    9897    copied files.  When used in conjunction with <command>cp -u</command>, this
    9998    prevents unexpected changes to the original files in case the commands are
    100     inadvertently run twice.  </para>
     99    inadvertently run twice.</para>
     100
     101    <para>Finally, on x86_64 hosts, set the default directory name for
     102    64-bit libraries to <quote>lib</quote>:</para>
     103
     104<screen><userinput remap="pre">case $(uname -m) in
     105  x86_64)
     106    sed -e '/m64=/s/lib64/lib/' \
     107        -i.orig gcc/config/i386/t-linux64
     108 ;;
     109esac</userinput></screen>
     110
    101111<!--
    102112    <para>GCC doesn't detect stack protection correctly, which causes problems
    103113    for the build of Glibc-&glibc-version;, so fix that by issuing the following
     
    123133    --target=$LFS_TGT                              \
    124134    --prefix=/tools                                \
    125135    --with-glibc-version=2.11                      \
     136    --with-slibdir=/tools/lib                      \
    126137    --with-sysroot=$LFS                            \
    127138    --with-newlib                                  \
    128139    --without-headers                              \
  • chapter05/gcc-pass2.xml

     
    7070    use the one installed in <filename
    7171    class="directory">/tools</filename>.</para>
    7272
    73 <screen><userinput remap="pre">for file in \
    74  $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
     73<screen><userinput remap="pre">for file in gcc/config/{linux,i386/linux{,64}}.h
    7574do
    7675  cp -uv $file{,.orig}
    7776  sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
     
    8483  touch $file.orig
    8584done</userinput></screen>
    8685
     86    <para>If building on x86_64, change the default directory name for 64-bit
     87    libraries to <quote>lib</quote>:</para>
     88
     89<screen><userinput remap="pre">case $(uname -m) in
     90  x86_64)
     91    sed -e '/m64=/s/lib64/lib/' \
     92        -i.orig gcc/config/i386/t-linux64
     93  ;;
     94esac</userinput></screen>
     95
    8796    <para>As in the first build of GCC it requires the GMP, MPFR and MPC
    8897    packages. Unpack the tarballs and move them into the required directory
    8998    names:</para>
     
    117126    --prefix=/tools                                \
    118127    --with-local-prefix=/tools                     \
    119128    --with-native-system-header-dir=/tools/include \
     129    --with-slibdir=/tools/lib                      \
    120130    --enable-languages=c,c++                       \
    121131    --disable-libstdcxx-pch                        \
    122132    --disable-multilib                             \
  • chapter06/creatingdirs.xml

     
    2424mkdir -pv /usr/{,local/}share/man/man{1..8}
    2525
    2626case $(uname -m) in
    27  x86_64) ln -sv lib /lib64
    28          ln -sv lib /usr/lib64
    29          ln -sv lib /usr/local/lib64 ;;
     27 x86_64) mkdir -v /lib64 ;;
    3028esac
    3129
    3230mkdir -v /var/{log,mail,spool}
  • chapter06/gcc.xml

     
    4545
    4646<screen><userinput remap="pre">patch -Np1 -i ../gcc-6.1.0-asan-1.patch</userinput></screen>
    4747-->
     48    <para>If building on x86_64, change the default direcotory name for 64-bit
     49    libraries to <quote>lib</quote>:</para>
     50
     51<screen><userinput remap="pre">case $(uname -m) in
     52  x86_64)
     53    sed -e '/m64=/s/lib64/lib/' \
     54        -i.orig gcc/config/i386/t-linux64
     55  ;;
     56esac</userinput></screen>
     57
    4858    <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
    4959
    5060<screen><userinput remap="pre">mkdir -v build
     
    175185
    176186  <para>Depending on your machine architecture, the above may differ slightly,
    177187  the difference usually being the name of the directory
    178   after <filename class="directory">/usr/lib/gcc</filename>. If your machine is
    179   a 64-bit system, you may also see a directory named <filename class="directory">lib64</filename>
    180   towards the end of the string. The important thing to
    181   look for here is that <command>gcc</command> has found all three
     188  after <filename class="directory">/usr/lib/gcc</filename>. The important
     189  thing to look for here is that <command>gcc</command> has found all three
    182190  <filename>crt*.o</filename> files under the
    183191  <filename class="directory">/usr/lib</filename> directory.</para>
    184192
  • chapter06/glibc.xml

     
    5757
    5858<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
    5959
     60    <para>Create a symlink for LSB compliance and, for x86_64, a
     61    compatibility symlink required for the dynamic loader to function
     62    correctly:</para>
     63
     64<screen><userinput remap="pre">case $(uname -m) in
     65    x86) ln -s ld-linux.so.2 /lib/ld-lsb.so.3
     66    ;;
     67    x86_64) ln -s ../lib/ld-linux-x86-64.so.2 /lib64
     68            ln -s ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
     69    ;;
     70esac</userinput></screen>
     71
    6072    <para>The Glibc documentation recommends building Glibc
    6173    in a dedicated build directory:</para>
    6274
     
    6779
    6880<screen><userinput remap="configure">../configure --prefix=/usr          \
    6981             --enable-kernel=&min-kernel; \
    70              --enable-obsolete-rpc</userinput></screen>
     82             --enable-obsolete-rpc        \
     83             libc_cv_slibdir=/lib</userinput></screen>
    7184
    7285    <para>Compile the package:</para>
    7386
  • chapter06/libcap.xml

     
    5555
    5656    <para>Install the package:</para>
    5757
    58 <screen><userinput remap="install">make RAISE_SETFCAP=no prefix=/usr install
     58<screen><userinput remap="install">make RAISE_SETFCAP=no lib=lib prefix=/usr install
    5959chmod -v 755 /usr/lib/libcap.so</userinput></screen>
    6060
    6161    <variablelist>
Note: See TracBrowser for help on using the repository browser.