diff --git a/chapter06/binutils-pass2.xml b/chapter06/binutils-pass2.xml index 0aec595..757a214 100644 --- a/chapter06/binutils-pass2.xml +++ b/chapter06/binutils-pass2.xml @@ -101,7 +101,7 @@ cd build Удалите архивные файлы libtool, поскольку они потенциально опасны при кросс-компиляции, также удалите ненужные статические библиотеки -rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.{a,la} +rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la} diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index df05738..8cdaa1a 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -43,13 +43,17 @@ Установка пакета Coreutils + Подготовьте Coreutils к компиляции: ./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(build-aux/config.guess) \ --enable-install-program=hostname \ - --enable-no-install-program=kill,uptime + --enable-no-install-program=kill,uptime \ + gl_cv_macro_MB_CUR_MAX_good=y Значение параметров настройки: @@ -57,11 +61,19 @@ --enable-install-program=hostname - Это позволяет создать и установить двоичный файл + Этот параметр позволяет создать и установить двоичный файл hostname – по умолчанию он отключен, но требуется для набора тестов Perl. + + + gl_cv_macro_MB_CUR_MAX_good=y + + Этот параметр необходим, чтобы обойти проблему с копией gnulib, + поставляемой пакетом, которая нарушит кросс-компиляцию. + + Скомпилируйте пакет: diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index fd45934..8c4a2be 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -96,6 +96,7 @@ cd build --disable-libatomic \ --disable-libgomp \ --disable-libquadmath \ + --disable-libsanitizer \ --disable-libssp \ --disable-libvtv \ --enable-languages=c,c++ @@ -137,11 +138,23 @@ cd build Разрешить libstdc++ использовать общую библиотеку libgcc, собранную на этом этапе, вместо статической версии, собранной в GCC - Проход 1. Это необходимо для поддержки обработки исключения C++ + Проход 1. Это необходимо для поддержки обработки исключений C++ + + --disable-libsanitizer + + Отключает библиотеки среды выполнения GCC sanitizer. Они не нужны для + временного набора инструментов. Этот параметр необходим для сборки GCC без + установки libcrypt для целевого + объекта. В это решалось с помощью + параметра --disable-libstdcxx, но теперь мы должны + передать его явно. + + + Скомпилируйте пакет: diff --git a/chapter06/make.xml b/chapter06/make.xml index f6741b6..f7fe609 100644 --- a/chapter06/make.xml +++ b/chapter06/make.xml @@ -42,12 +42,6 @@ Установка пакета Make - Сначала устраните проблему, обнаруженную в make: - -sed -e '/ifdef SIGPIPE/,+2 d' \ - -e '/undef FATAL_SIG/i FATAL_SIG (SIGPIPE);' \ - -i src/main.c - Подготовьте Make к компиляции: ./configure --prefix=/usr \