[Clfs-support] clfs:-eglibc2.17, gcc-4.8.0, linux-3.10-update as promised

bvl bvl at btconnect.com
Mon Jun 3 04:59:08 PDT 2013


Greetings

I promised a briefing to the list after  my attempted build of CLFS updated to 
modern gcc et al. I followed as closely as possible the CLFS-dev book  but 
with modifications of course. I used these:-

--Ax)cloog-0.18.0
--Bx)binutils-2.23.2
--Cx)gcc-4.8.0
--Dx)eglibc-2.17_rv23168   --for eglibc-2.15
--Ex)eudevGIT280513        --for udev-182
--Fx)linux-3.10-rc3        --for linux-3.8.13
--Gx) bc-1.06.95

#--------------
--A1)cloog-0.18.0
 //equivalent of sec 5.13 of clfs book

cp -v configure{,.orig}
sed -e "/LD_LIBRARY_PATH=/d" \
configure.orig > configure

LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
./configure \
--prefix=/cross-tools \
--enable-shared \
--with-gmp-prefix=/cross-tools

#--------------
--C1)cross gcc-4.8.0
 //equivalent of sec 5.15 of clfs book

AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
../gcc-4.8.0/configure \
--prefix=/cross-tools \
--build=${CLFS_HOST} \
--host=${CLFS_HOST} \
--target=${CLFS_TARGET} \
--with-sysroot=${CLFS} \
--with-local-prefix=/tools \
--without-headers \
--with-newlib           \
--without-headers       \
--with-native-system-header-dir=/tools/include   \
--disable-nls           \
--disable-shared        \
--disable-multilib      \
--disable-decimal-float  \
--disable-threads       \
--disable-libatomic     \
--disable-libgomp       \
--disable-libitm        \
--disable-libmudflap    \
--disable-libquadmath   \
--disable-libsanitizer  \
--disable-libssp        \
--enable-languages=c \
--with-mpfr=/cross-tools \
--with-gmp=/cross-tools \
--with-cloog=/cross-tools \
--with-mpc=/cross-tools \
--with-system-zlib \
--enable-cloog-backend=isl \
--disable-target-libiberty \
--disable-target-zlib \
--enable-checking=release \

then 
make all-gcc all-target-libgcc


#--------------
--D1)eglibc-2.17_rv23168 
 //equivalent of sec 5.16 of clfs book


BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc ${BUILD64}" \
AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \
../eglibc-2.17_rv23168/configure \
--prefix=/tools \
--host=${CLFS_TARGET} \
--build=${CLFS_HOST} \
--disable-profile \
--with-tls \
--enable-kernel=2.6.25 \
--with-headers=/tools/include    \
--with-__thread \
--with-binutils=/cross-tools/bin \
--with-headers=/tools/include \
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_gnu89_inline=yes
libc_cv_ssp=no

then make

#--------------
--C2)cross gcc-4.8.0 final
 //equivalent of sec 5.17 of clfs book


AR=ar LDFLAGS="-Wl,-rpath,/cross-tools/lib" \
../gcc-4.8.0/configure \
--prefix=/cross-tools \
--build=${CLFS_HOST} \
--target=${CLFS_TARGET} \
--host=${CLFS_HOST} \
--with-sysroot=${CLFS} \
--with-local-prefix=/tools \
--with-native-system-header-dir=/tools \
--disable-nls \
--enable-shared \
--disable-static \
--enable-languages=c,c++ \
--enable-__cxa_atexit \
--enable-c99 \
--enable-long-long \
--enable-threads=posix \
--disable-multilib \
--with-mpc=/cross-tools \
--with-mpfr=/cross-tools \
--with-gmp=/cross-tools  \
--with-cloog=/cross-tools \
--enable-cloog-backend=isl   \
--with-system-zlib \
--disable-cloog-version-check \
--enable-checking=release \
--enable-libstdcxx-time

then
make AS_FOR_TARGET="${CLFS_TARGET}-as" \
    LD_FOR_TARGET="${CLFS_TARGET}-ld"


#--------------
--C3)cross gcc-4.8.0 
 //equivalent of sec 6.10 of clfs book

CC="${CC} ${BUILD64}" CXX="${CXX} ${BUILD64}" \
../gcc-4.8.0/configure \
--prefix=/tools \
--disable-multilib \
--build=${CLFS_HOST} \
--host=${CLFS_TARGET} \
--target=${CLFS_TARGET} \
--libexecdir=/tools/lib \
--with-local-prefix=/tools \
--enable-long-long \
--enable-c99 \
--enable-shared \
--enable-threads=posix \
--disable-nls \
--enable-__cxa_atexit \
--enable-languages=c,c++ \
--disable-libstdcxx-pch \
--enable-cloog-backend=isl \
--with-system-zlib \
--disable-cloog-version-check \
--enable-checking=release \
--enable-libstdcxx-time

then

cp -v Makefile{,.orig}
sed "/^HOST_\(GMP\|PPL\|CLOOG\)\(LIBS\|INC\)/s:-[IL]/\(lib\|include\)::" \
Makefile.orig > Makefile

then

make AS_FOR_TARGET="${AS}" \
LD_FOR_TARGET="${LD}"

#--------------
--D2)eglibc-2.17_rv23168 
 //equivalent of sec 10.7 of clfs book

I used as per the clfs book updated to eglibc2.17


#--------------
--A2)cloog-0.18.0
 //equivalent of sec 10.13 of clfs book

CC="gcc -isystem /usr/include" \
LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" \
./configure  \
--prefix=/usr \
--enable-shared



#--------------
--C3)gcc-4.8.0 
 //equivalent of sec 10.16  of clfs book

C="gcc -isystem /usr/include" \
CXX="g++ -isystem /usr/include" \
LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" \
../gcc-4.8.0/configure  \
--prefix=/usr \
--libexecdir=/usr/lib \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-c99 \
--enable-long-long \
--enable-clocale=gnu \
--enable-languages=c,c++ \
--disable-multilib \
--disable-libstdcxx-pch \
--enable-cloog-backend=isl \
--with-system-zlib \
--disable-cloog-version-check  \
--enable-checking=release \
--enable-libstdcxx-time

#--------------
--E1)eudevGIT280513
 //equivalent of sec 10.60  of clfs book 
(i.e udev-182 )

./configure  \
--prefix=/usr \
--sysconfdir=/etc \
--with-rootprefix="" \
--libexecdir=/lib \
--bindir=/sbin \
--enable-rule_generator \
--disable-introspection \
--disable-keymap \
--disable-gudev \
--enable-libkmod

(then bootscrip modified  for udev  from /lib/udev/udevd to /sbin/udevd )

#--------------
--G1) bc-1.06.95  
 //(not in clfs book but needed for newer kernels )

./configure \
--prefix=/usr \
--with-readline

#--------------
--F3)linux-3.10-rc3
for kernel compilation, the first two options under device 
drivers have to be enable otherwise the kernel will not boot.




-----------------------------
hope this will be of some use
sincerely
bv



More information about the Clfs-support mailing list