[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
ru:slackware:multilib [2013/03/17 19:30 (UTC)] – создано bormantru:slackware:multilib [2017/07/07 19:40 (UTC)] (текущий) – старая версия восстановлена (2017/07/07 19:39 (UTC)) bormant
Строка 1: Строка 1:
-<note warning>WIP: Work in progress. --[[wiki:user:bormant | bormant]]</note> 
 ===== Добавление мультибиблиотечности в Slackware x86_64 ===== ===== Добавление мультибиблиотечности в Slackware x86_64 =====
  
Строка 5: Строка 4:
  
 Это достигается следующим образом: Это достигается следующим образом:
-  — Сперва нужно переключиться на мультибиблиотечные версии+  Сначала нужно переключиться на мультибиблиотечные версии
     * //glibc// (такой glibc, который поддерживает //исполнение// как 32-ных, так и 64-битных бинарных файлов), и     * //glibc// (такой glibc, который поддерживает //исполнение// как 32-ных, так и 64-битных бинарных файлов), и
     * //gcc// (способный //компилировать// в 32-битные бинарные файлы наравне с 64-битными).     * //gcc// (способный //компилировать// в 32-битные бинарные файлы наравне с 64-битными).
-  — Затем взять из 32-битной Slackware библиотеки и установить их в 64-битной Slackware, что завершит процесс создания 32-битного программного слоя.+  Затем взять из 32-битной Slackware библиотеки и вместе с их 64-битными версиями установить их в 64-битной Slackware, что завершит процесс создания 32-битного программного слоя совместимости. 
 + 
 +Когда вышла Slackware64, она имела преимущество перед прочими существовавшими 64-битными «форками». Последние добавляли 32-битный слой совместимости путём перекомпиляции множества своих пакетов как 32-битных бинарников. С другой стороны, Slackware — это дистрибутив, состоящий из 32-битного и 64-битного выпуска, разрабатываемых параллельно. Это означает, что вам не нужно компилировать 32-битные пакеты с нуля для добавления мультибиблиотечности в 64-битную систему.  Можно просто взять их из дерева пакетов 32-битной Slackware!\\  Это было одной из причин не добавлять в Slackware64 полную мультибиблиотечность — мы создали необходимые условия, но если пользователю нужна мультибиблиотечность, то ему нужно действовать самостоятельно. \\ В разделе [[#подробные_инструкции | ниже]] я объясню, как взять 32-битный пакет Slackware (скажем, пакет «mesa») и перепаковать его содержимое в пакет «mesa-compat32», который можно установить непосредственно в Slackware64.
  
 <note>Slackware для архитектуры x86_64 (или для краткости «//Slackware64//») является чистой 64-битной операционной системой, но легко обновляется до мультибииблиотечной. //Изначально в Slackware64 возможно компилировать и исполнять только 64-битные бинарные файлы//.</note> <note>Slackware для архитектуры x86_64 (или для краткости «//Slackware64//») является чистой 64-битной операционной системой, но легко обновляется до мультибииблиотечной. //Изначально в Slackware64 возможно компилировать и исполнять только 64-битные бинарные файлы//.</note>
- 
-Когда вышла Slackware64, она имела преимущество перед прочими существовавшими 64-битными «форками». Последние добавляли 32-битный слой совместимости путём перекомпиляции множества своих пакетов как 32-битных бинарников. С другой стороны, Slackware — это дистрибутив, состоящий из 32-битного и 64-битного выпуска, разрабатываемых параллельно. Это означает, что вам не нужно компилировать 32-битные пакеты с нуля для добавления мультибиблиотечности в 64-битную систему.  Можно просто взять их из дерева пакетов 32-битной Slackware!\\  Это было одной из причин не добавлять в Slackware64 полную мультибиблиотечность — мы создали необходимые условия, но если пользователю нужна мультибиблиотечность, то ему нужно действовать самостоятельно. \\ В разделе [[подробные_инструкции | ниже]] я объясню, как взять 32-битный пакет Slackware (скажем, пакет «mesa») и перепаковать его содержимое в пакет «mesa-compat32», который можно установить непосредственно в Slackware64. 
  
  
Строка 20: Строка 19:
   * [[http://winehq.org/ | Wine]] \\ Большинство программ для Windows по-прежнему 32-разрядные, для их запуска на Linux в Wine требуется 32-битная версия Wine.   * [[http://winehq.org/ | Wine]] \\ Большинство программ для Windows по-прежнему 32-разрядные, для их запуска на Linux в Wine требуется 32-битная версия Wine.
   * [[http://www.virtualbox.org/ | VirtualBox]] \\ Популярное программное обеспечение для виртуальных машин.  Несмотря на открытый (частично) исходный код, все ещё нуждается в 32-битных библиотеках на 64-битной Slackware.   * [[http://www.virtualbox.org/ | VirtualBox]] \\ Популярное программное обеспечение для виртуальных машин.  Несмотря на открытый (частично) исходный код, все ещё нуждается в 32-битных библиотеках на 64-битной Slackware.
 +  * [[http://steampowered.com|Steam]] \\ Очень популярная игровая платформа по-прежнему требует [[http://www.slackware.com/~alien/slackbuilds/steamclient/|32-разрядного клиента]]. Большинство доступных игр также 32-разрядные.
   * [[http://www.skype.com/ | Skype]], [[http://www.citrix.com/lang/English/home.asp | Citrix client]],  ... \\ Это проприетарные программы с закрытыми исходными кодами. Мы вынуждены зависеть от их разработчиков в части доступности 64-битных бинарников.  Для этих программ пока подобного не случилось.   * [[http://www.skype.com/ | Skype]], [[http://www.citrix.com/lang/English/home.asp | Citrix client]],  ... \\ Это проприетарные программы с закрытыми исходными кодами. Мы вынуждены зависеть от их разработчиков в части доступности 64-битных бинарников.  Для этих программ пока подобного не случилось.
  
Строка 31: Строка 31:
 Наряду с несколькими файлами README (эта статья вики —  расширенная версия одного из тех файлов) ниже каталога верхнего уровня «//multilib//» находятся подкаталоги для каждого 64-битного выпуска Slackware.  Там же расположен каталог «//source//». Он содержит исходные тексты и сценарии SlackBuild.\\ Что вам действительно нужно — бинарные пакеты — доступны в каталоге //<номер_выпуска_slackware>// ниже каталога верхнего уровня.  Каждый такой каталог содержит подкаталог «//slackware64-compat32//», где находится основной набор конвертированных 32-битных пакетов Slackware, готовых к установке на 64-битной Slackware. Наряду с несколькими файлами README (эта статья вики —  расширенная версия одного из тех файлов) ниже каталога верхнего уровня «//multilib//» находятся подкаталоги для каждого 64-битного выпуска Slackware.  Там же расположен каталог «//source//». Он содержит исходные тексты и сценарии SlackBuild.\\ Что вам действительно нужно — бинарные пакеты — доступны в каталоге //<номер_выпуска_slackware>// ниже каталога верхнего уровня.  Каждый такой каталог содержит подкаталог «//slackware64-compat32//», где находится основной набор конвертированных 32-битных пакетов Slackware, готовых к установке на 64-битной Slackware.
  
-<note tip>Для поддержки актуальности советую обратить внимание на  [[http://slackware.com/~alien/multilib/ChangeLog.txt | ChangeLog]] ([[http://slackware.com/~alien/multilib/ChangeLog.rss | лента RSS]]), которые я поддерживаю для моих мультибиблиотечных пакетов. Обычно обновляются пакеты //glibc and gcc// в течении дня после обновления их в Slackware.  Также обратите внимание на [[#сторонние_ инструменты_поддержки | compat32pkg]] от Sėbastien Ballet, автоматизирующие этот процесс, как это делает slackpkg.</note>+ 
 +===== Поддержка мультибиблиотечности в актуальном состоянии ===== 
 + 
 +Для поддержки актуальности советую обратить внимание на  [[http://slackware.com/~alien/multilib/ChangeLog.txt | ChangeLog]] ([[http://slackware.com/~alien/multilib/ChangeLog.rss | лента RSS]]), которые я поддерживаю для моих мультибиблиотечных пакетов. Обычно обновляются пакеты //glibc and gcc// в течении дня после обновления их в Slackware. 
 + 
 +Автоматизация: 
 +  - Обратите внимание на [[#сторонние_инструменты_поддержки | compat32pkg]] от Sėbastien Ballet, автоматизирующий процесс наподобие slackpkg. 
 +  - Если для управления пакетами предпочитаете slackpkg, стоит обратить внимание на [[http://slakfinder.org/slackpkg+.html|slackpkg+]], расширение для slackpkg, управляющее пакетами, установленными из сторонних хранилищ, включая мультибиблиотечные пакеты. При правильной настройкеподдерржка сводится к запуску: <code> 
 +# slackpkg update 
 +# slackpkg upgrade multilib 
 +# slackpkg install multilib 
 +</code> Последняя команда покажет новые «compat32» пакеты, например недавно добавленные llvm-compat32 и orc-compat32. 
 +    * Вот как выглядит типичная настройка для Slackware-current с использованием тестового хранилища KDE от Alien BOB. PKGS_PRIORITY задает приоритет пакетов gcc и glibc из мультибиблиотечного хранилища перед официнальным деревом Salckaware. Ключевое слово «multilib», которое задает имя хранилища, должно соответствовать используемому в приведенных выше командах «slackpkg». Слово «multilib» выбрано произвольно, с тем же успехом можно было везде использовать «compat32». \\ Ниже приведено примерное содержимое файла «/etc/slackpkg/slackpkgplus.conf»: <file> 
 +SLACKPKGPLUS=on 
 +VERBOSE=1 
 +ALLOW32BIT=off 
 +USEBL=1 
 +WGETOPTS="--timeout=5 --tries=1" 
 +GREYLIST=on 
 +PKGS_PRIORITY=( multilib restricted alienbob ktown ) 
 +REPOPLUS=( slackpkgplus multilib restricted alienbob ktown ) 
 +MIRRORPLUS['multilib']=http://bear.alienbase.nl/mirrors/people/alien/multilib/current/ 
 +MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/ 
 +MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/current/x86_64/ 
 +MIRRORPLUS['ktown']=http://bear.alienbase.nl/mirrors/alien-kde/current/latest/x86_64/ 
 +MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/ 
 +</file
  
  
Строка 40: Строка 66:
 Этот раздел содержит основные инструкции по добавлению полной поддержки  мультибиблиотечности в вашу систему Slackware64. Если хотите разобраться в процессе более подробно или нужна информация о том, как компилировать 32-битные программы в Slackware64, прочтите и последующие разделы.\\ Обратите внимание, знак «#» в начале команд означает //приглашение суперпользователя root// Этот раздел содержит основные инструкции по добавлению полной поддержки  мультибиблиотечности в вашу систему Slackware64. Если хотите разобраться в процессе более подробно или нужна информация о том, как компилировать 32-битные программы в Slackware64, прочтите и последующие разделы.\\ Обратите внимание, знак «#» в начале команд означает //приглашение суперпользователя root//
  
-  * Загрузите пакеты с моего сайта (я давал ссылку в [[#получение_мультибиблиотечных_пакетов | предыдущем разделе]]), в примере ниже использована ссылка на зеркало.  Допустим, используется Slackware 14.0. Выполните: <code> +  * Загрузите пакеты с моего сайта (я давал ссылку в [[#получение_мультибиблиотечных_пакетов | предыдущем разделе]]), в примере ниже использована ссылка на зеркало.  Допустим, используется Slackware 14.2. Выполните: <code> 
-# SLACKVER=14.0+# SLACKVER=14.2
 # mkdir multilib # mkdir multilib
 # cd multilib # cd multilib
-# lftp -c "open http://taper.alienbase.nl/mirrors/people/alien/multilib/ ; mirror ${SLACKVER}"+# lftp -c "open http://bear.alienbase.nl/mirrors/people/alien/multilib/ ; mirror -c -e ${SLACKVER}"
 # cd ${SLACKVER} # cd ${SLACKVER}
 </code> </code>
Строка 54: Строка 80:
 </code>которая установит все 32-битные пакеты Slackware (или обновит их, если установлены более старые их версии, например, при обновлении до новой версии Slackware). Это всё! </code>которая установит все 32-битные пакеты Slackware (или обновит их, если установлены более старые их версии, например, при обновлении до новой версии Slackware). Это всё!
   * Если каталог //slackware64-compat32// отсутствует, то либо его не загрузили, либо зеркало его не содержало. В этом случае придётся выполнить конвертацию 32-битных пакетов самостоятельно.  Несложно, но займёт какое-то время:   * Если каталог //slackware64-compat32// отсутствует, то либо его не загрузили, либо зеркало его не содержало. В этом случае придётся выполнить конвертацию 32-битных пакетов самостоятельно.  Несложно, но займёт какое-то время:
-    * Быстрее всего, если у вас есть локальный каталог с оригинальными 32-битными пакетами Slackware (//локальное зеркало//).  Купившие официальный DVD Slackware могут использовать его: он двусторонний и 32-битная Slackware на одной из сторон.  __В этом примере__ будем считать, что локальное зеркало дерева 32-битной Slackware доступно в каталоге «''/home/ftp/pub/slackware/slackware-13.37/slackware/''».\\ Непосредственно в нём должны быть подкаталоги «a», «ap», «d», «l», «n», «x». (Если смонтировали DVD Slackware, возможный каталог «''/media/SlackDVD/slackware/''», но в примерах команд ниже я его не буду использовать).+    * Быстрее всего, если у вас есть локальный каталог с оригинальными 32-битными пакетами Slackware (//локальное зеркало//).  Купившие официальный DVD Slackware могут использовать его: он двустороннийи 32-битная Slackware на одной из сторон.  __В этом примере__ будем считать, что локальное зеркало дерева 32-битной Slackware доступно в каталоге «''/home/ftp/pub/slackware/slackware-14.2/slackware/''».\\ Непосредственно в нём должны быть подкаталоги «a», «ap», «d», «l», «n», «x». (Если смонтировали DVD Slackware, возможный каталог «''/media/SlackDVD/slackware/''», но в примерах команд ниже я его не буду использовать).
     * Создайте новый пустой каталог (назовём его «slackware64-compat32») и перейдите в него: <code>     * Создайте новый пустой каталог (назовём его «slackware64-compat32») и перейдите в него: <code>
 # mkdir slackware64-compat32 ; cd slackware64-compat32 # mkdir slackware64-compat32 ; cd slackware64-compat32
 </code> </code>
     * Выполните следующую команду для создания набора 32-битных пакетов совместимости, используя в качестве параметра каталог с официальными 32-битными пакетами Slackware: <code>     * Выполните следующую команду для создания набора 32-битных пакетов совместимости, используя в качестве параметра каталог с официальными 32-битными пакетами Slackware: <code>
-# massconvert32.sh -i /home/ftp/pub/slackware/slackware-13.37/slackware/+# massconvert32.sh -i /home/ftp/pub/slackware/slackware-14.2/slackware/
 </code> </code>
     * Предыдущий шаг займёт какое-то время. По завершении установите 90Мб свежеконвертированных 32-битных пакетов Slackware, созданных в подкаталогах //текущего каталога//: <code>     * Предыдущий шаг займёт какое-то время. По завершении установите 90Мб свежеконвертированных 32-битных пакетов Slackware, созданных в подкаталогах //текущего каталога//: <code>
Строка 68: Строка 94:
 <note warning>Если используете пакетный менеджер, как //slackpkg//, придётся добавить все пакеты ''glibc'' и ''gcc'' в его чёрный список. Если не принять подобных мер предосторожности, есть риск, что пакетный менеджер случайно заменит мультибиблиотечные версии версиями из оригинальной чисто 64-битной Slackware!\\ Если используете Slackware 13.37 или новее, тогда slackpkg поддерживает регулярные выражения в файле чёрного списка. В этом случае будет достаточно одной строки в ''/etc/slackpkg/blacklist'' для внесения в чёрный список всех моих пакетов (включая мультибиблиотечные пакеты gcc и glibc и все пакеты ''compat32''): <code> <note warning>Если используете пакетный менеджер, как //slackpkg//, придётся добавить все пакеты ''glibc'' и ''gcc'' в его чёрный список. Если не принять подобных мер предосторожности, есть риск, что пакетный менеджер случайно заменит мультибиблиотечные версии версиями из оригинальной чисто 64-битной Slackware!\\ Если используете Slackware 13.37 или новее, тогда slackpkg поддерживает регулярные выражения в файле чёрного списка. В этом случае будет достаточно одной строки в ''/etc/slackpkg/blacklist'' для внесения в чёрный список всех моих пакетов (включая мультибиблиотечные пакеты gcc и glibc и все пакеты ''compat32''): <code>
 [0-9]+alien [0-9]+alien
-[0-9]+compat32</code></note>+[0-9]+compat32</code> С другой стороны, если используете расширение slackpkg [[http://slakfinder.org/slackpkg+.html|slackpkg+]], то **не** включайте эти пакеты в чёрный список, иначе slackpkg+ не сможет ими управлять!</note>
  
-<note tip>Если используете Slackware 13.1 или новее и загрузили пакет compat32-tools для этого выпуска, сценарий //massconvert32.sh// может использовать удалённый сервер веб для загрузки с него 32-битных пакетов Slackware, вместо локального зеркала Slackare или DVD. Используйте параметр «-u» для указания URL, как в примере ниже: <code> +<note tip>Если используете Slackware 13.1 или новее и загрузили пакет compat32-tools для этого выпуска, сценарий //massconvert32.sh// может загрузить 32-битные пакеты Slackware с удалённого веб-сервера, вместо локального зеркала Slackare или DVD. Используйте параметр «-u» для указания URL, как в примере ниже: <code> 
-# massconvert32.sh -u http://someserver.org/path/to/slackware-13.37/slackware+# massconvert32.sh -u http://someserver.org/path/to/slackware-14.2/slackware
 </code> </note> </code> </note>
  
Строка 123: Строка 149:
     * gcc-objc-4.5.2_multilib-x86_64-2alien.txz     * gcc-objc-4.5.2_multilib-x86_64-2alien.txz
   * Библиотеки GNU libc:   * Библиотеки GNU libc:
-    * glibc-2.13_multilib-x86_64-3alien.txz +    * glibc-2.13_multilib-x86_64-7alien.txz 
-    * glibc-i18n-2.13_multilib-x86_64-3alien.txz +    * glibc-i18n-2.13_multilib-x86_64-7alien.txz 
-    * glibc-profile-2.13_multilib-x86_64-3alien.txz +    * glibc-profile-2.13_multilib-x86_64-7alien.txz 
-    * glibc-solibs-2.13_multilib-x86_64-3alien.txz +    * glibc-solibs-2.13_multilib-x86_64-7alien.txz
-    * glibc-zoneinfo-2.13_multilib-noarch-3alien.txz+
  
-====Slackware64 current====+====Slackware64 14.0==== 
 + 
 +  * Комплект компиляторов gcc: 
 +    * gcc-g++-4.7.1_multilib-x86_64-1alien.txz 
 +    * gcc-gfortran-4.7.1_multilib-x86_64-1alien.txz 
 +    * gcc-gnat-4.7.1_multilib-x86_64-1alien.txz 
 +    * gcc-go-4.7.1_multilib-x86_64-1alien.txz 
 +    * gcc-java-4.7.1_multilib-x86_64-1alien.txz 
 +    * gcc-objc-4.7.1_multilib-x86_64-1alien.txz 
 +  * Библиотеки GNU libc: 
 +    * glibc-2.15_multilib-x86_64-9alien.txz 
 +    * glibc-i18n-2.15_multilib-x86_64-9alien.txz 
 +    * glibc-profile-2.15_multilib-x86_64-9alien.txz 
 +    * glibc-solibs-2.15_multilib-x86_64-9alien.txz 
 + 
 +====Slackware64 14.1====
  
   * До тех пор, пока отсутствует отдельный каталог «//current//», используйте файлы из каталога для наиболее свежего стабильного выпуска.   * До тех пор, пока отсутствует отдельный каталог «//current//», используйте файлы из каталога для наиболее свежего стабильного выпуска.
  
   * Комплект компиляторов gcc:   * Комплект компиляторов gcc:
-    * gcc-4.7.1_multilib-x86_64-1fix1_alien.txz +    * gcc-4.8.2_multilib-x86_64-1alien.txz 
-    * gcc-g++-4.7.1_multilib-x86_64-1fix1_alien.txz +    * gcc-g++-4.8.2_multilib-x86_64-1alien.txz 
-    * gcc-gfortran-4.7.1_multilib-x86_64-1fix1_alien.txz +    * gcc-gfortran-4.8.2_multilib-x86_64-1alien.txz 
-    * gcc-gnat-4.7.1_multilib-x86_64-1fix1_alien.txz +    * gcc-gnat-4.8.2_multilib-x86_64-1alien.txz 
-    * gcc-go-4.7.1_multilib-x86_64-1fix1_alien.txz +    * gcc-go-4.8.2_multilib-x86_64-1alien.txz 
-    * gcc-java-4.7.1_multilib-x86_64-1fix1_alien.txz +    * gcc-java-4.8.2_multilib-x86_64-1alien.txz 
-    * gcc-objc-4.7.1_multilib-x86_64-1fix1_alien.txz+    * gcc-objc-4.8.2_multilib-x86_64-1alien.txz
   * Библиотеки GNU libc:   * Библиотеки GNU libc:
-    * glibc-2.15_multilib-x86_64-6alien.txz +    * glibc-2.17_multilib-x86_64-10alien.txz 
-    * glibc-i18n-2.15_multilib-x86_64-6alien.txz +    * glibc-i18n-2.17_multilib-x86_64-10alien.txz 
-    * glibc-profile-2.15_multilib-x86_64-6alien.txz +    * glibc-profile-2.17_multilib-x86_64-10alien.txz 
-    * glibc-solibs-2.15_multilib-x86_64-6alien.txz +    * glibc-solibs-2.17_multilib-x86_64-10alien.txz
-    * glibc-zoneinfo-2012e_2012e_multilib-noarch-6alien.txz+
  
-Есть один дополнительный пакет для установки программой «installpkg»:+====Slackware64 14.2====
  
-  * «32-битный инструментарий» (сценарий, облегчающий создание 32-битных пакетов) +  * Комплект компиляторов gcc: 
-    * compat32-tools-2.2-noarch-2alien.tgz+    * gcc-5.3.0_multilib-x86_64-3alien.txz 
 +    * gcc-g++-5.3.0_multilib-x86_64-3alien.txz 
 +    * gcc-gfortran-5.3.0_multilib-x86_64-3alien.txz 
 +    * gcc-gnat-5.3.0_multilib-x86_64-3alien.txz 
 +    * gcc-go-5.3.0_multilib-x86_64-3alien.txz 
 +    * gcc-java-5.3.0_multilib-x86_64-3alien.txz 
 +    * gcc-objc-5.3.0_multilib-x86_64-3alien.txz 
 +  * Библиотеки GNU libc: 
 +    * glibc-2.23_multilib-x86_64-2alien.txz 
 +    * glibc-i18n-2.23_multilib-x86_64-2alien.txz 
 +    * glibc-profile-2.23_multilib-x86_64-2alien.txz 
 +    * glibc-solibs-2.23_multilib-x86_64-2alien.txz
  
-<note>В Slamd64 имеются отдельные мультибиблиотечные 64-битные и 32итные пакеты gcc/glibc.\\ Тем не менее, я считаючто правильнее сохранять эти основные мультибиблиотечные пакеты неразделёнными.  Я последовал концепции, используемой в пакете //binutils// из самой Slackware64, который сочетает 64-битные и 32-битные мультибиблиотечные возможности в едином пакете.</note>+====Slackware64 current==== 
 + 
 +  * Комплект компиляторов gcc: 
 +    * gcc-7.1.0_multilib-x86_64-2alien.txz 
 +    * gcc-brig-7.1.0_multilib-x86_64-2alien.txz 
 +    * gcc-g++-7.1.0_multilib-x86_64-2alien.txz 
 +    * gcc-gfortran-7.1.0_multilib-x86_64-2alien.txz 
 +    * gcc-gnat-7.1.0_multilib-x86_64-2alien.txz 
 +    * gcc-go-7.1.0_multilib-x86_64-2alien.txz 
 +    * gcc-objc-7.1.0_multilib-x86_64-2alien.txz 
 + 
 +  * Библиотеки GNU libc: 
 +    * glibc-2.25_multilib-x86_64-3alien.txz 
 +    * glibc-i18n-2.25_multilib-x86_64-3alien.txz 
 +    * glibc-profile-2.25_multilib-x86_64-3alien.txz 
 +    * glibc-solibs-2.25_multilib-x86_64-3alien.txz 
 + 
 +<note>После обновления до gcc 7 пакета ''gcc-java'' больше не существует, так как его разработка прекращена.</note>​ 
 +<note>​Пакет ''​glibc-zoneinfo''​ не содержит кода и поэтому не входит в мультилиб. Этот пакет устанавливается из 64-битной Slackware.</note> 
 + 
 +====Все версии Slackware==== 
 + 
 +Есть один дополнительный пакет для установки программой «installpkg».  Актуальная версия для каждого из выпусков Slackware может отличаться, но пакет находится в том же каталоге, что и мультибиблиотечные версии ''​gcc''​ и ''​glibc'': 
 + 
 +  * «32-битный инструментарий» (сценарий, облегчающий создание 32-битных пакетов) 
 +    * compat32-tools-3.7-noarch-1alien.tgz
  
  
-=== Adding 32-bit Slackware libraries ===+=== Добавление 32-битных библиотек Slackware ===
  
-The upgrade of glibc and gcc which I described in the previous section changes your system from "//multilib-ready//" to "//multilib-enabled//".\\ Nowall you need to do is to install 32bit versions of Slackware's system software so that future 32bit programs that you are going to install and/or compile will find all the 32bit libraries they need in order to work.+Обновление glibc и gcc, описанное в предыдущем разделе, делает из «//готовой к мультибиблиотечности//» действительно «мультибиблиотечную» систему.\\ Теперь всёчто осталось — это установить 32-битные версии системных компонент Slackware, чтобы установленные и/или компилируемые в последующем программы смогли найти все необходимые им 32-битные библиотеки.
  
-This is not as simple as grabbing 32bit Slackware packages and installing them in Slackware64: +Это несколько сложнее, чем взять пакеты из 32-битной Slackware и установить их в Slackware64: 
-  * In the first place, you will end up with multiple packages carrying the same name (two 'mesa' packages, two 'zlib' packagesetc...) which will be confusing to you as well as to the //slackpkg// package manager+  * Сперва нужно разобраться с одинаковыми именами пакетов (два пакета «mesa»два пакета «zlib» и тд.), которые создадут путаницу для вас и для пакетного менеджера //slackpkg//
-  * And furthermoreif the 32bit package contains binaries (something like ''/usr/bin/foo''), they will overwrite their 64bit counterparts when you install the 32bit package on topIt will seriously mess up your system if that happens.+  * Кроме тогоесли 32-битный пакет содержит бинарные файлы в (вроде ''/usr/lib/foo''), одноимённые 64-разрядные файлы будут перезаписаны при установке поверх 32-битного пакета и наоборотЕсли такое случится, система будет серьёзно попорчена.
  
-A little bit of extra care is required so that unnecessary/unwanted files are stripped from the 32bit packages before you install themWhat you needis a 32bit package that does not conflict with whatever is already present in 64bit Slackware. Hence the name "32bit compatibility package".+Потребуются дополнительные меры предосторожности для удаления ненужных/нежелательных файлов из 32-битных пакетов перед их установкойНужны 32-битные пакетыкоторые не конфликтуют с тем, что уже есть в 64-битной Slackware. Отсюда и название «32-битный пакет совместимости».
  
-I decided that it would be a waste of download bandwidth if I created 32bit compatibility versions of Slackware packages myselfAfter allyou have probably bought the Slackware 13.37 DVD so you already possess both 64bit and 32bit versions of Slackware... or else the 32bit Slackware tree is available for free download of course ;-)+Я решил, что если 32-битные пакеты совместимости для Slackware буду делать я сам, это будет пустой тратой загрузочного канала В конце концоввероятно, у вас уже есть купленный DVD Slackware 14.2, то есть уже имеется в наличии и 64-битная, и 32-битная версии Slackware... в противном случае дерево пакетов 32-битной Slackware, безусловно, доступно для свободной загрузки ;-)
  
-Instead, I wrote a few scripts (parts of the script code were written by Fred Emmott of [[http://slamd64.com/ | Slamd64]] fameand wrapped these into a "//compat32-tools//" packageTheir purpose is to let you extract the content from any 32bit Slackware package and use that to create a new package  which you can safely install on your 64bit Slackware.+Вместо этого я написал несколько сценариев (часть кода написана Fred Emmott для небезызвестной  [[http://slamd64.com/ | Slamd64]]) и обернул их в пакет «//compat32-tools//».  Их назначение — позволить вам самостоятельно извлечь необходимое из произвольного 32-битного пакета Slackware и и использовать его для создания нового пакета, который можно безопасно устанавливать на 64-битной Slackware.
  
-This "//compat32-tools//" package needs some explanation.\\ Please read the detailed '//README//' file in the ''/usr/doc/compat32-tools-*/'' directoryit will help you on your way.  These are the three useful scripts which the package installs:+Пакет «//compat32-tools//» требует некоторых пояснений.\\ Прочтите подробный файл «//README//» в каталоге ''/usr/doc/compat32-tools-*/'', он станет хорошим подспорьем.  Пакет устанавливает три полезных сценария:
  
-  * ///etc/profile.d/32dev.sh//\\ This is the same script that comes with Slamd64. It reconfigures your shell environment so that it will be easier for you to compile 32-bit software (by preferring the 32-bit compilers and libraries over their 64-bit versions)+  * ///etc/profile.d/32dev.sh//\\ Это тот же сценарий, что и в Slamd64. Он перенастраивает переменные окружения для облегчения компиляции 32-битных программ (путем установки предпочтений 32-битному компилятору и библиотекам перед 64-битными версиями)
  
-  * //convertpkg-compat32//\\ This script takes a 32-bit Slackware package and converts it to a '-compat32' package that you can safely install (using "installpkg"on Slackware64, alongside the 64-bit version of the same software package.  For instance: suppose you need 32bit libraries that are in the mesa packageYou take the mesa package from 32-bit Slackware (''x/mesa-7.5-i486-1.txz''and then run <code>+  * //convertpkg-compat32//\\ Этот сценарий принимает 32-битный пакет Slackware и собирает на его основе пакет «-compat32», который можно безопасно установить (при помощи «installpkg»на Slackware64, параллельно с 64-битной версией того же самого пакета.  Например, допустим, потребовались 32-битные библиотеки из пакета «mesa»Берём пакет «mesa» из 32-битной Slackware (''x/mesa-7.5-i486-1.txz''и выполняем <code>
 # convertpkg-compat32 -i /path/to/mesa-7.5-i486-1.txz # convertpkg-compat32 -i /path/to/mesa-7.5-i486-1.txz
-</code> which will create a new package called ''mesa-compat32-7.5-x86_64-1.txz''This new package (which is created in your ''/tmp'' directory unless you specified another destinationis basically the old 32bit packagebut stripped from non-essential stuffThe changed basename (//mesa// becomes //mesa-compat32//allows you to install this new package in Slackware64 where it will co-exist with the 64bit //mesa// package, not overwriting any files.\\ The script leaves temporary files in the directory "''/tmp/package-<prgnam>-compat32''" which you can safely delete.+</code> который создаст новый пакет ''mesa-compat32-7.5-x86_64-1compat32.txz''Этот новый пакет (созданный в каталоге ''/tmp'', если не указали другой каталогоснован на прежнем 32-битном пакетено не содержит лишнего Смена базового имени пакета (//mesa// на //mesa-compat32//позволяет установить этот новый пакет в Slackware64, где он сможет сосуществовать с 64-битным пакетом //mesa// не перезаписывая его файлов.\\ Временные файлы, оставленные сценарием в каталоге «''/tmp/package-<prgnam>-compat32''», можно удалить.
  
-  * //massconvert32.sh//\\ This script contains an internal list of what I consider the essential subset of 32-bit Slackware packagesIt uses the above "//convertpkg-compat32//" script to grab every package that is on this internal list, and convert these into '-compat32' packages.\\ You need to run this script only oncefor example like this (the example assumes that you mounted your 32bit Slackware DVD on ''/mnt/dvd''): <code>+  * //massconvert32.sh//\\ Этот сценарий содержит внутренний список пакетов, которые я считаю основой 32-битной Slackware. Он использует упомянутый выше сценарий «//convertpkg-compat32//» для конвертации пакетов по внутреннему списку в «-compat32».\\ Этот сценарий достаточно запустить один разнапример, как показано ниже (в примере считается, что 32-битный DVD Slackware смонтирован в ''/mnt/dvd''): <code>
 # massconvert32.sh -i /mnt/dvd/slackware -d ~/compat32 # massconvert32.sh -i /mnt/dvd/slackware -d ~/compat32
-</code> This action will result in about 60 MB of new packages which you will find inside the newly created directory ''~/compat32'' (the directory's name is arbitrary of courseI chose it for the sake of this example). These packages comprise the 32bit component of your multilib Slackware64 system.\\ They should be installed using "''installpkg''"and they give you a pretty complete 32-bit compatibility layer on top of Slackware64: <code>+</code> В результате примерно 150 МБ новых пакетов будут записаны во вновь созданный каталог ''~/compat32'' (имя каталога выбрано для примера иконечно, может быть произвольным).  Эти пакеты содержат 32-битный костяк мультибиблиотечной системы Slackware64.\\ Установите их при помощи «''installpkg''»и они обеспечат вам достаточно полный 32[[http://example.com|Внешняя ссылка]]-битный слой совместимости поверх Slackware64: <code>
 # installpkg ~/compat32/*/*.t?z # installpkg ~/compat32/*/*.t?z
-</code> If you are upgrading from an earlier version of these packages (because for instance you upgraded your 64-bit Slackware to a newer releasethen you do not use "''installpkg''" of course, but "''upgradepkg --install-new''" instead: <code>+</code> Конечно, при обновлении с предыдущих версий этих пакетов (например, при обновлении 64-битной Slackware до новой версиинужно использовать «''upgradepkg --install-new''» вместо «''installpkg''»: <code>
 # upgradepkg --install-new ~/compat32/*/*.t?z # upgradepkg --install-new ~/compat32/*/*.t?z
-</code> The "//--install-new//" parameter is needed to install the new //''compat32''// packages which were added between releases.+</code> Параметр «//--install-new//» нужен, чтобы добавленные в новую версию Slackware новые пакеты //''compat32''// были установлены.
  
-<note important>When installing the //''compat32''// packages you will notice that some will show errors about missing files in ''/etc''This is "by design"and these errors can be ignoredThese messages are caused by the fact that files in ''/etc'' are removed from a "-compat32" package during conversion (except for //pango// and //gtk+2//). I assume that files in ''/etc'' will already have been installed by the original 64bit packages.\\ An example of these "errors" for the ''cups-compat32'' package: <code>+<note important>При установке пакетов //''compat32''// можно заметить сообщения об отсутствующих файлах в ''/etc'' Так задуманоигнорируйте эти ошибки Эти сообщения вызваны тем фактом, что файлы в ''/etc'' удаляются из пакетов «-compat32» при конвертации (за исключением //pango// и //gtk+2//).  Я полагаю, что файлы в ''/etc'' уже установлены оригинальными 64-битными пакетами.\\ Вот пример подобных «ошибок» для пакета ''cups-compat32'': <code>
 Executing install script for cups-compat32-1.3.11-x86_64-1.txz. Executing install script for cups-compat32-1.3.11-x86_64-1.txz.
 install/doinst.sh: line 5: [: too many arguments install/doinst.sh: line 5: [: too many arguments
Строка 199: Строка 274:
 </code></note> </code></note>
  
-<note important>If you were considering to use the ''convertpkg-compat32'' script to convert a **non-Slackware** package to a //-compat32// packageI must strongly advise against thisThe script is written with a single purpose and that is to make 32bit versions of the official Slackware64 binaries/libraries available in a multilib setupAs suchthe script will remove a lot of stuff that is present in the original 32bit package stuff which is expected to have been installed as part of the 64bit version of the package.\\ In almost all cases where you have downloaded a non-Slackware 32bit package and want to make it work on Slackware64, the best way is to find the sources and build a 64bit version of the packageAlternatively, just //install the original// 32bit package instead of trying to "convert it" and then run it from the commandline to find out any missing 32bit libraries you may still have to extract from an official Slackware package.</note>+<note important>Если собрались использовать сценарий ''convertpkg-compat32'' для конвертации в пакет //-compat32// пакта **не из Slackware**настоятельно не рекомендую этого делать Сценарий написан для единственной цели — сделать 32-битные версии официальных бинарных файлов/библиотек Slackware доступными для мультибиблиотечной установкиПоэтому сценарий оставляет в 32-битном пакете только необходимое для слоя совместимости, полагаячто всё остальное установлено в составе 64-битного пакета.\\  Если вы загрузили 32-битный пакет не-для-Slackware и хотите использовать его в Slackware64, в подавляющем большинстве случаев наилучшим вариантом будет загрузка исходного кода и сборка 64-битной версии пакета Либо //устанавливайте оригинальный// 32-битный пакет вместо того, чтобы «конвертировать его» и затем запускать из командной строки для выяснения недостающих 32-битных библиотек, которые, возможно, придётся извлекать из официальных пакетов Slackware.</note>
  
  
-===== Running 32-bit programs =====+===== Запуск 32-битных программ =====
  
-Running a pre-compiled 32-bit program is easy after you've done the above system preparationJust downloadinstall and run it!+Когда подготовка системы согласно приведённым выше инструкциям завершена, запуск скомпилированных 32-битных программ несложенПросто загрузитеустановите и запускайте!
  
-At timesyou may run into a program that requires a certain 32-bit Slackware library that you do not yet have available.  In that casefind out which 32bit Slackware package contains this missing library.  Use the "//convertpkg-compat32//" script to convert that original 32bit Slackware package and install the resulting 32bit "//compatibility//" package on Slackware64.+Время от времени могут попадаться программытребующие определённых 32-битных библиотек, которых нет в системе.  В этом случае найдитекакой пакет в 32-битной Slackware содержит отсутствующую библиотеку.  Используйте сценарий «//convertpkg-compat32//» для конвертации исходного 32-битного пакета и установите полученный 32-битный «//-compat32//» пакет в Salckware64.
  
  
 ===== Компилирование 32-битных программ ===== ===== Компилирование 32-битных программ =====
  
-Если нужно скомпилировать 32-битную программу (wine и grub — пара примеров исключительно 32-битных программ с открытым исходным кодом), сперва настройте окружение запуском следующей команды:<code> +Если нужно скомпилировать 32-битную программу (wine и grub — пара примеров исключительно 32-битных программ с открытым исходным кодом), сперва настройте окружение суперпользователя root запуском следующей команды:<code> 
-. /etc/profile.d/32dev.sh +. /etc/profile.d/32dev.sh 
-</code> Обратите внимание на точку перед именем файла — это тоже часть команды (синоним команды source)!  Запуск команды изменяет или создаёт несколько переменных окружения.  В результате при компиляции 32-битные версии бинарных файлов получат приоритет над 64-битными — будет запускаться 32-битная компиляция.  Изменения действуют до выхода (logout) из шелла.+</code> Обратите внимание на точку в начале строки — это тоже часть команды. Использование точки эквивалентно команде source. \\ Запуск команды изменяет или создаёт несколько переменных окружения.  В результате при компиляции 32-битные версии бинарных файлов получат приоритет над 64-битными — будет запускаться 32-битная компиляция.  Изменения действуют до выхода (logout) из шелла суперпользователя root.
  
-В этом изменённом окружении возможно использовать стандартные SlackBuild-ы для сборки 32-битных пакетов для Slackware64.  Пара важных замечаний: +В этом изменённом окружении возможно использовать стандартные SlackBuild-ы для сборки 32-битных пакетов для Slackware64.  Несколько важных замечаний: 
-  — Необходимо устанавливать переменную ARCH в значение «x86_64»несмотря на компиляцию 32-битной программы! \\ Это относится к //тройке// «$ARCH-slackware-linux», обычно используемой в команде «configure». Если установить ARCH, например, в значение «i486»то определение //CFLAGS// для этой архитектуры приведёт к ошибке ''gcc'' наподобие «//compiler can not create executables//» («//компилятор не может создавать исполняемые файлы//»).  Это относится к дизайну сценариев SlackBuild.  Вместо правки сценариев и изменения/удаления определения //GFLAGS// можно установить переменную ARCH в «x86_64» и сэкономить себе время.  Реальную работу выполняет сценарий ''32dev.sh''+  Необходимо устанавливать переменную ARCH в значение «i486»поскольку компилируется 32-битная программа хотя бы и на 64-битной системе! \\ Это относится к //тройке// «$ARCH-slackware-linux», обычно используемой в команде «configure». 
-  — Правка сценария SlackBuild потребуется, если он будет использовать каталоги «lib64/» при «$ARCH = x86_64».  Придётся заставить его использовать каталоги «lib/».  Обычно это достигается поиском определения:<code> +  - В качестве исключениякомпилировать пакет «wine» необходимо с «ARCH=x86_64», поскольку он будет установлен непосредственно на мультибиблиотечный компьютер без преобразования в пакет «compat32»
-      LIBDIRSUFFIX="64" +  - Для установки этого 32-битного пакета на мультибиблиотечную Slackware64, его нужно преобразовать в совместимый пакет «compat32»\\ <code> 
-</code> и заменой этой строки на <code> +# convertpkg-compat32 -i /path/to/your/fresh/foo-VERSION-i486-BUILD.txz 
-      LIBDIRSUFFIX=""+# upgradepkg --install-new /tmp/foo-compat32-VERSION-x86_64-BUILDcompat32.txz
 </code> </code>
  
Строка 236: Строка 311:
  
 <code bash> <code bash>
-Серия A/:+Набор A/:
  
 aaa_elflibs aaa_elflibs
 +attr
 bzip2 bzip2
 cups cups
Строка 244: Строка 320:
 dbus dbus
 e2fsprogs e2fsprogs
 +eudev
 +libgudev
 openssl-solibs openssl-solibs
 +udev
 util-linux util-linux
 +xz
  
-Серия AP/:+Набор AP/:
  
 +cups
 +cups-filters
 +flac
 +mariadb
 mpg123 mpg123
 mysql mysql
 +sqlite
  
-Серия D/:+Набор D/:
  
 libtool libtool
 +llvm
 +opencl-headers
  
-Серия L/:+Набор L/:
  
 +SDL2
 alsa-lib alsa-lib
 alsa-oss alsa-oss
 +alsa-plugins
 atk atk
 audiofile audiofile
 cairo cairo
 dbus-glib dbus-glib
 +elfutils
 esound esound
 expat expat
 +ffmpeg
 +fftw
 freetype freetype
 +fribidi
 gamin gamin
 +gc
 gdk-pixbuf2 gdk-pixbuf2
 +giflib
 glib2 glib2
 +gmp
 +gnome-keyring
 gtk+2 gtk+2
 gst-plugins-base gst-plugins-base
 +gst-plugins-base0
 gst-plugins-good gst-plugins-good
 +gst-plugins-good0
 +gst-plugins-libav
 gstreamer gstreamer
 +gstreamer0
 hal hal
 +harfbuzz
 +icu4c
 jasper jasper
 +json-c
 +lame
 lcms lcms
 +lcms2
 +libaio
 libart_lgpl libart_lgpl
 +libasyncns
 +libclc
 +libedit
 libelf libelf
 libexif libexif
 +libffi
 libglade libglade
 libgphoto2 libgphoto2
Строка 285: Строка 396:
 libieee1284 libieee1284
 libjpeg libjpeg
 +libjpeg-turbo
 libmng libmng
 libmpc libmpc
 +libnl3
 +libnotify
 +libogg
 libpcap libpcap
 libpng libpng
 +libsamplerate
 libsndfile libsndfile
 +libtasn1
 libtermcap libtermcap
 libtiff libtiff
 +libunistring
 libusb libusb
 +libvorbis
 libxml2 libxml2
 libxslt libxslt
 +lzo
 ncurses ncurses
 +ocl-icd
 +openjpeg
 +orc
 pango pango
 popt popt
 +pulseaudio
 +python-six
 qt qt
 readline readline
 +sbc
 sdl sdl
 seamonkey-solibs seamonkey-solibs
 +speexdsp
 +startup-notification
 svgalib svgalib
 v4l-utils v4l-utils
 zlib zlib
  
-Серия N/:+Набор N/:
  
 curl curl
Строка 313: Строка 441:
 libgcrypt libgcrypt
 libgpg-error libgpg-error
 +libtirpc
 +nettle
 openldap-client openldap-client
 openssl openssl
 +p11-kit
 +samba
  
-Серия X/:+Набор X/:
  
 fontconfig fontconfig
 +freeglut
 glew glew
 +glu
 libFS libFS
 libICE libICE
Строка 336: Строка 470:
 libXfixes libXfixes
 libXfont libXfont
 +libXfont2
 libXfontcache libXfontcache
 libXft libXft
Строка 356: Строка 491:
 libdmx libdmx
 libdrm libdrm
 +libepoxy
 libfontenc libfontenc
 +libinput
 +libpciaccess
 +libva
 +libva-intel-driver
 +libvdpau
 libxcb libxcb
 +libxshmfence
 mesa mesa
 pixman pixman
 +vulkan-sdk
 +xcb-util
 +
 +# Набор XAP/:
 +
 +sane
 </code> </code>
  
 +
 +===== Зеркала мультибиблиотек =====
 +
 +Загрузить мультибиблиотечные пакеты можно (как минимум) по этим адресам:
 +
 +  * [[http://slackware.com/~alien/multilib/ | http://slackware.com/~alien/multilib/]]
 +  * [[http://bear.alienbase.nl/mirrors/people/alien/multilib/ | http://bear.alienbase.nl/mirrors/people/alien/multilib/]]
 +  * [[http://slackware.uk/people/alien/multilib/| http://slackware.uk/people/alien/multilib/]]
 +  * [[http://alien.slackbook.org/slackware/multilib/| http://alien.slackbook.org/slackware/multilib/]]
 +  * [[http://slackbuilds.org/mirror/alien/multilib/| http://slackbuilds.org/mirror/alien/multilib/]]
  
 ===== Сторонние инструменты поддержки ===== ===== Сторонние инструменты поддержки =====
  
   * Sėbastien Ballet написал инструмент //compat32pkg// На [[http://compat32pkg.sourceforge.net/ | его сайте]] //compat32pkg// доступен для загрузки как и обширная документация по его использованию в Slackware64.\\ Цитата с сайта:\\ //«Compat32pkg — это автоматический инструмент, предоставляющий всё необходимое для управления (конвертации, установки, обновления, удаления) 32-битной части мультибиблиотечной slackware-64 от AlienBob-а, а также всех 32-битных пакетов из Slackware-32, в которых у пользователей 64-битного окружения может возникнуть потребность, таких как firefox, seamonkey, jre, ...»//   * Sėbastien Ballet написал инструмент //compat32pkg// На [[http://compat32pkg.sourceforge.net/ | его сайте]] //compat32pkg// доступен для загрузки как и обширная документация по его использованию в Slackware64.\\ Цитата с сайта:\\ //«Compat32pkg — это автоматический инструмент, предоставляющий всё необходимое для управления (конвертации, установки, обновления, удаления) 32-битной части мультибиблиотечной slackware-64 от AlienBob-а, а также всех 32-битных пакетов из Slackware-32, в которых у пользователей 64-битного окружения может возникнуть потребность, таких как firefox, seamonkey, jre, ...»//
 +  * Написанный Matteo Rossini (ник zerouno) с правками (в частности) от Sėbastien Ballet [[http://slakfinder.org/slackpkg+.html|slackpkg+]].  Это плагин для [[http://slackpkg.org/|slackpkg]] из Slackware, добавляющий возможность установки пакетов из внешних (сторонних) неофициальных репозиториев Slackware.  Он хорошо подходит для добавления мультибиблиотечности в вашу 64-битную Slackware и поддержания её в актуальном состоянии.
  
  
Строка 377: Строка 536:
 ===== Благодарности ===== ===== Благодарности =====
  
-  * Большое спасибо Fred Emmott, создателю Slamd64 — оригинального неофициального 64-битного форка Slackware.  Хотя Slackware64 и не основана на его работе, большая часть моих знаний про настройку 32-битной части мультибиблиотечного Linux из его записок в Slamd64.+  * Большое спасибо Fred Emmott, создателю Slamd64 — оригинального неофициального 64-битного форка Slackware.  Хотя Slackware64 и не основана на его работе, большая часть моих знаний про настройку 32-битной части мультибиблиотечного Linux из его записок в Slamd64.\\ Заметьте, что в Slamd64 имеются отдельные мультибиблиотечные 64-битные и 32-битные пакеты gcc/glibc. Тем не менее, я считаю, что правильнее сохранять эти основные мультибиблиотечные пакеты неразделёнными.  Я последовал концепции, используемой в пакете //binutils// из самой Slackware64, который сочетает 64-битные и 32-битные мультибиблиотечные возможности в едином пакете.
  
-  * Cross Linux From Scratch.\\ Вики CLFS (http://trac.cross-lfs.org/wiki/read#ReadtheCrossLinuxFromScratchBookOnline) из разряда «обязательно к прочтению», если хотите разобраться с портированием Linux на новую архитектуру. Там я позаимствовал несколько идей, концепций и патчей при создании Slackware64 с нуля, и опять, когда я создавал с нуля свои мультибиблиотечные пакеты gcc/glibc (мой README  по мультибиблиотечности-с-нуля доступен в каталоге ./source).+  * Cross Linux From Scratch.\\ Вики CLFS (http://trac.cross-lfs.org/wiki/read#ReadtheCrossLinuxFromScratchBookOnline) из разряда «обязательно к прочтению», если хотите разобраться с портированием Linux на новую архитектуру. Там я позаимствовал несколько идей, концепций и патчей при создании Slackware64 с нуля, и опять, когда я создавал с нуля свои мультибиблиотечные пакеты gcc/glibc (мой README  по мультибиблиотечности-с-нуля доступен в каталоге ''./source'').
  
  
 ru:slackware:multilib ()