From 4df2bea407b9a2d53f7b409279ac8491d2a9c6b0 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 11 Dec 2024 03:00:38 +0100 Subject: [PATCH] Improve building and solve audit-userspace problem --- build.sh | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/build.sh b/build.sh index 999626d..a926f5d 100755 --- a/build.sh +++ b/build.sh @@ -5,6 +5,7 @@ export LINUX_VERSION="6.12.1" # Backup the native environment export BUILD_CC="$BUILD_CC" export CC_native="$CC" +export CPP_native="$CPP" export CXX_native="$CXX" export AS_native="$AS" export LD_native="$LD" @@ -16,6 +17,7 @@ export OBJDUMP_native="$OBJDUMP" export READELF_native="$READELF" export CFLAGS_native="$CFLAGS_native" export CPPFLAGS_native="$CPPFLAGS" +export CXXFLAGS_native="$CXXFLAGS" export LDFLAGS_native="$LDFLAGS" export LD_LIBRARY_PATH_native="$LD_LIBRARY_PATH" export PKG_CONFIG_LIBDIR_native="$PKG_CONFIG_LIBDIR" @@ -85,6 +87,7 @@ unset LDFLAGS setup_toolchain() { export BUILD_CC=gcc export CC="$LFS_TGT-gcc" + export CPP="$LFS_TGT-cpp" export CXX="$LFS_TGT-g++" export AS="$LFS_TGT-as" export LD="$LFS_TGT-ld" @@ -94,8 +97,9 @@ setup_toolchain() { export STRIP="$LFS_TGT-strip" export OBJDUMP="$LFS_TGT-objdump" export READELF="$LFS_TGT-readelf" + export CPPFLAGS="" export CFLAGS=" $TARGET_ADDITIONAL_CFLAGS -U_FORTIFY_SOURCE -O2 -L$LFS_TOOLS/lib -L$LFS/usr/lib -I$LFS_TOOLS/include -I$LFS_TOOLS/$LFS_TGT/include" - export CPPFLAGS=" $TARGET_ADDITIONAL_CFLAGS -U_FORTIFY_SOURCE -O2 -L$LFS_TOOLS/lib -L$LFS/usr/lib -I$LFS_TOOLS/include -I$LFS_TOOLS/$LFS_TGT/include -I$LFS_TOOLS/$LFS_TGT/include/c++/14.2.0/ -I$LFS_TOOLS/$LFS_TGT/include/c++/14.2.0/$LFS_TGT" + export CXXFLAGS=" $TARGET_ADDITIONAL_CFLAGS -U_FORTIFY_SOURCE -O2 -L$LFS_TOOLS/lib -L$LFS/usr/lib -I$LFS_TOOLS/include -I$LFS_TOOLS/$LFS_TGT/include -I$LFS_TOOLS/$LFS_TGT/include/c++/14.2.0/ -I$LFS_TOOLS/$LFS_TGT/include/c++/14.2.0/$LFS_TGT" export LDFLAGS=" -L$LFS/usr/lib -L$LFS_TOOLS/lib" export LD_LIBRARY_PATH_old="$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="$LFS_TOOLS/lib $LFS/usr/lib" @@ -108,6 +112,7 @@ host_toolchain() { export BUILD_CC="$BUILD_CC_native" export CC="$CC_native" export CXX="$CXX_native" + export CPP="$CPP_native" export AS="$AS_native" export LD="$LD_native" export AR="$AR_native" @@ -118,6 +123,7 @@ host_toolchain() { export READELF="$READELF_native" export CFLAGS="$CFLAGS_native" export CPPFLAGS="$CPPFLAGS_native" + export CXXFLAGS="$CXXFLAGS_native" export LDFLAGS="$LDFLAGS_native" export PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR_native" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_native" @@ -599,6 +605,7 @@ if [ ! -f "$STEPS_DIR/zlib" ]; then "../configure" \ --prefix=/usr \ + --enable-static=no \ --enable-shared make -j 32 @@ -623,21 +630,32 @@ if [ ! -f "$STEPS_DIR/ncurses" ]; then mkdir -vp build-$LFS_TGT cd build-$LFS_TGT - # --build=${CLFS_HOST} \ + # --with-cxx-binding no c++? + # --with-cxx-shared no c++? + # --disable-stripping # this must go away "../configure" \ - --prefix=$LFS/usr \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --disable-stripping \ --with-shared \ --host=${LFS_TGT} \ --build=${BUILD_MACHINE_TRIPLET} \ --without-debug \ - --disable-stripping \ + --enable-pc-files \ + --enable-widec \ + --disable-setuid-environ \ + --disable-root-environ \ + --disable-root-access \ --without-ada \ --enable-overwrite \ - --with-build-cc=gcc \ - --libdir=$LFS/usr/lib - + --with-build-cc=gcc + + make -j 32 - make install + make -j 32 DESTDIR="$LFS" install cd "$BASE_DIR" rm -rf "$LFS_BUILD/ncurses" @@ -829,6 +847,7 @@ if [ ! -f "$STEPS_DIR/libseccomp" ]; then --prefix=/usr \ --host=${LFS_TGT} \ --build=${BUILD_MACHINE_TRIPLET} \ + --enable-static=no \ --cache-file=config.cache make -j 32 @@ -1225,6 +1244,7 @@ if [ ! -f "$STEPS_DIR/gettext" ]; then --disable-shared \ --libdir=/usr/lib \ --with-sysroot=$SYSROOT \ + --enable-nls \ --enable-curses \ --with-xz \ --cache-file=config.cache @@ -1291,7 +1311,7 @@ if [ ! -f "$STEPS_DIR/pcre2" ]; then --build=${BUILD_MACHINE_TRIPLET} \ --prefix=${LFS}/usr \ --enable-shared \ - --disable-shared \ + --enable-static=no \ --enable-jit \ --enable-pcre2-16 \ --enable-pcre2-32 \ @@ -1383,6 +1403,10 @@ if [ ! -f "$STEPS_DIR/audit-userspace" ]; then fi cd "$LFS_BUILD/audit-userspace" + #CPPFLAGS_old="$CPPFLAGS" + #export CFLAGS=" $TARGET_ADDITIONAL_CFLAGS -U_FORTIFY_SOURCE -O2 -L$LFS_TOOLS/lib -L$LFS/usr/lib -I$LFS_TOOLS/include -I$LFS_TOOLS/$LFS_TGT/include " + #export CPPFLAGS=" $TARGET_ADDITIONAL_CFLAGS -U_FORTIFY_SOURCE -O2 -L$LFS_TOOLS/lib -L$LFS/usr/lib -I$LFS_TOOLS/include -I$LFS_TOOLS/$LFS_TGT/include " # -I$LFS_TOOLS/$LFS_TGT/include/c++/14.2.0/ -I$LFS_TOOLS/$LFS_TGT/include/c++/14.2.0/$LFS_TGT + autoreconf -fiv mkdir -vp build-$LFS_TGT @@ -1412,6 +1436,8 @@ if [ ! -f "$STEPS_DIR/audit-userspace" ]; then make -j 32 make -j 32 DESTDIR=$LFS install + #export CPPFLAGS="$CPPFLAGS_old" + cd "$BASE_DIR" rm -rf "$LFS_BUILD/audit-userspace" touch "$STEPS_DIR/audit-userspace"