Added multilib support in chapter8 a-c

This commit is contained in:
Poltern 2023-09-26 21:22:33 +05:00
parent 9e351e09ec
commit ede6eba39a
6 changed files with 205 additions and 2 deletions

View File

@ -64,6 +64,70 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Установка Acl - 32-битная версия</title>
<para>Выполните очистку после предыдущей сборки:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Подготовьте Acl к компиляции:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--prefix=/usr \
--disable-static \
--libdir=/usr/lib32 \
--libexecdir=/usr/lib32 \
--host=i686-pc-linux-gnu</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Установка Acl - mx32</title>
<para>Выполните очистку после предыдущей сборки:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Подготовьте Acl к компиляции:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--prefix=/usr \
--disable-static \
--libdir=/usr/libx32 \
--libexecdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-acl" role="content">
<title>Содержимое пакета Acl</title>

View File

@ -64,6 +64,70 @@
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Установка Attr - 32-битная версия</title>
<para>Выполните очистку после предыдущей сборки:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Подготовьте Attr к компиляции:</para>
<screen><userinput remap="configure">CC="gcc -m32" ./configure \
--prefix=/usr \
--disable-static \
--sysconfdir=/etc \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Установка Attr - mx32</title>
<para>Выполните очистку после предыдущей сборки:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Подготовьте Attr к компиляции:</para>
<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
--prefix=/usr \
--disable-static \
--sysconfdir=/etc \
--libdir=/usr/libx32 \
--host=x86_64-pc-linux-gnux32</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-attr" role="content">
<title>Содержимое пакета Attr</title>

View File

@ -49,7 +49,7 @@ cd build</userinput></screen>
<para>Подготовьте Binutils к компиляции:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
<screen arch="default"><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
--enable-ld=default \
@ -58,6 +58,17 @@ cd build</userinput></screen>
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../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</userinput></screen>
<variablelist>
<title>Значение параметров настройки:</title>
@ -92,6 +103,13 @@ cd build</userinput></screen>
</listitem>
</varlistentry>
<varlistentry arch="ml_32,ml_x32,ml_all">
<term><parameter>--enable-multilib</parameter></term>
<listitem>
<para>Включает поддержку multilib в bintutils.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-system-zlib</parameter></term>
<listitem>

View File

@ -101,6 +101,60 @@ done</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Установка Bzip2 - 32-битная версия</title>
<para>Выполните очистку после предыдущей сборки:</para>
<screen><userinput remap="pre">make clean</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -m32/" -i Makefile{,-libbz2_so}
make -f Makefile-libbz2_so
make libbz2.a</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">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</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Установка Bzip2 - mx32</title>
<para>Выполните очистку после предыдущей сборки:</para>
<screen><userinput remap="pre">make clean</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">sed -e "s/^CC=.*/CC=gcc -mx32/" -i Makefile{,-libbz2_so}
make -f Makefile-libbz2_so
make libbz2.a</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">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</userinput></screen>
</sect2><!-- mx32 -->
<sect2 id="contents-bzip2" role="content">
<title>Содержимое пакета Bzip2</title>

View File

@ -34,6 +34,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="isl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>

View File

@ -21,7 +21,9 @@
известно, что некоторые файлы .la могут нарушить сборку пакетов BLFS. Удалите
эти файлы сейчас:</para>
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput></screen>
<screen><userinput>find /usr/lib /usr/libexec -name \*.la -delete</userinput><userinput arch="ml_32,ml_all">
find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32,ml_all">
find /usr/libx32 -name \*.la -delete</userinput></screen>
<para>Дополнительные сведения об архивных файлах libtool см. в разделе BLFS <ulink
url="&blfs-book;introduction/la-files.html">"О файлах архива Libtool (.la)"</ulink>.</para>