From ede6eba39af49aa2116c0094ecb0c0db5288e9d0 Mon Sep 17 00:00:00 2001
From: Poltern <2363951+Poltern@users.noreply.github.com>
Date: Tue, 26 Sep 2023 21:22:33 +0500
Subject: [PATCH] Added multilib support in chapter8 a-c
---
chapter08/acl.xml | 64 +++++++++++++++++++++++++++++++++++++++++
chapter08/attr.xml | 64 +++++++++++++++++++++++++++++++++++++++++
chapter08/binutils.xml | 20 ++++++++++++-
chapter08/bzip2.xml | 54 ++++++++++++++++++++++++++++++++++
chapter08/chapter08.xml | 1 +
chapter08/cleanup.xml | 4 ++-
6 files changed, 205 insertions(+), 2 deletions(-)
diff --git a/chapter08/acl.xml b/chapter08/acl.xml
index 5bd49e5..50b607b 100644
--- a/chapter08/acl.xml
+++ b/chapter08/acl.xml
@@ -64,6 +64,70 @@
+
+
+
+
+
+ Установка Acl - 32-битная версия
+
+ Выполните очистку после предыдущей сборки:
+
+make distclean
+
+ Подготовьте Acl к компиляции:
+
+CC="gcc -m32" ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --libdir=/usr/lib32 \
+ --libexecdir=/usr/lib32 \
+ --host=i686-pc-linux-gnu
+
+ Скомпилируйте пакет:
+
+make
+
+ Установите пакет:
+
+make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR/usr/lib32/* /usr/lib32
+rm -rf DESTDIR
+
+
+
+
+
+
+
+
+ Установка Acl - mx32
+
+ Выполните очистку после предыдущей сборки:
+
+make distclean
+
+ Подготовьте Acl к компиляции:
+
+CC="gcc -mx32" ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --libdir=/usr/libx32 \
+ --libexecdir=/usr/libx32 \
+ --host=x86_64-pc-linux-gnux32
+
+ Скомпилируйте пакет:
+
+make
+
+ Установите пакет:
+
+make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR/usr/libx32/* /usr/libx32
+rm -rf DESTDIR
+
+
+
Содержимое пакета Acl
diff --git a/chapter08/attr.xml b/chapter08/attr.xml
index f8d8a54..5edf554 100644
--- a/chapter08/attr.xml
+++ b/chapter08/attr.xml
@@ -64,6 +64,70 @@
+
+
+
+
+
+ Установка Attr - 32-битная версия
+
+ Выполните очистку после предыдущей сборки:
+
+make distclean
+
+ Подготовьте Attr к компиляции:
+
+CC="gcc -m32" ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib32 \
+ --host=i686-pc-linux-gnu
+
+ Скомпилируйте пакет:
+
+make
+
+ Установите пакет:
+
+make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR/usr/lib32/* /usr/lib32
+rm -rf DESTDIR
+
+
+
+
+
+
+
+
+ Установка Attr - mx32
+
+ Выполните очистку после предыдущей сборки:
+
+make distclean
+
+ Подготовьте Attr к компиляции:
+
+CC="gcc -mx32" ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --sysconfdir=/etc \
+ --libdir=/usr/libx32 \
+ --host=x86_64-pc-linux-gnux32
+
+ Скомпилируйте пакет:
+
+make
+
+ Установите пакет:
+
+make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR/usr/libx32/* /usr/libx32
+rm -rf DESTDIR
+
+
+
Содержимое пакета Attr
diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml
index cd9cec5..1bd8aa2 100644
--- a/chapter08/binutils.xml
+++ b/chapter08/binutils.xml
@@ -49,7 +49,7 @@ cd build
Подготовьте Binutils к компиляции:
-../configure --prefix=/usr \
+../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
--enable-ld=default \
@@ -58,6 +58,17 @@ cd build
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib
+../configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-gold \
+ --enable-ld=default \
+ --enable-plugins \
+ --enable-shared \
+ --disable-werror \
+ --enable-64-bit-bfd \
+ --with-system-zlib \
+ --enable-multilib
+
Значение параметров настройки:
@@ -92,6 +103,13 @@ cd build
+
+ --enable-multilib
+
+ Включает поддержку multilib в bintutils.
+
+
+
--with-system-zlib
diff --git a/chapter08/bzip2.xml b/chapter08/bzip2.xml
index 9eab0be..3eebe1f 100644
--- a/chapter08/bzip2.xml
+++ b/chapter08/bzip2.xml
@@ -101,6 +101,60 @@ done
+
+
+
+
+
+ Установка Bzip2 - 32-битная версия
+
+ Выполните очистку после предыдущей сборки:
+
+make clean
+
+ Скомпилируйте пакет:
+
+sed -e "s/^CC=.*/CC=gcc -m32/" -i Makefile{,-libbz2_so}
+make -f Makefile-libbz2_so
+make libbz2.a
+
+ Установите пакет:
+
+install -Dm755 libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0.8
+ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so
+ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1
+ln -sf libbz2.so.1.0.8 /usr/lib32/libbz2.so.1.0
+install -Dm644 libbz2.a /usr/lib32/libbz2.a
+
+
+
+
+
+
+
+
+ Установка Bzip2 - mx32
+
+ Выполните очистку после предыдущей сборки:
+
+make clean
+
+ Скомпилируйте пакет:
+
+sed -e "s/^CC=.*/CC=gcc -mx32/" -i Makefile{,-libbz2_so}
+make -f Makefile-libbz2_so
+make libbz2.a
+
+ Установите пакет:
+
+install -Dm755 libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0.8
+ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so
+ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1
+ln -sf libbz2.so.1.0.8 /usr/libx32/libbz2.so.1.0
+install -Dm644 libbz2.a /usr/libx32/libbz2.a
+
+
+
Содержимое пакета Bzip2
diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml
index c190c6b..89878bf 100644
--- a/chapter08/chapter08.xml
+++ b/chapter08/chapter08.xml
@@ -34,6 +34,7 @@
+
diff --git a/chapter08/cleanup.xml b/chapter08/cleanup.xml
index fc7deae..874aed5 100644
--- a/chapter08/cleanup.xml
+++ b/chapter08/cleanup.xml
@@ -21,7 +21,9 @@
известно, что некоторые файлы .la могут нарушить сборку пакетов BLFS. Удалите
эти файлы сейчас:
-find /usr/lib /usr/libexec -name \*.la -delete
+find /usr/lib /usr/libexec -name \*.la -delete
+find /usr/lib32 -name \*.la -delete
+find /usr/libx32 -name \*.la -delete
Дополнительные сведения об архивных файлах libtool см. в разделе BLFS "О файлах архива Libtool (.la)".