[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