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 \