[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

Это старая версия документа!


WIP: Work in progress. – bormant

Добавление мультибиблиотечности в Slackware x86_64

Статья содержит инструкции по созданию мультибиблиотечной Slackware64. Мультибиблиотечная 64-битная система Linux способна исполнять как 32-битные, так и 64-битные программы. Стандарт иерархии файловой системы документирует оптимальный метод достижения чистого разделения между 64-битным и 32-битным программами на одной системе. Начав разработку «Slackware64» (официального порта на архитектуру x86_64), мы решили придерживаться этого стандарта. Поэтому Slackware64 была настроена на поиск 64-битных библиотек в каталогах /lib64 и /usr/lib64. Вот почему я называю Slackware64 готовой к мультибиблиотечности — хотя 32-битные библиотеки будут искаться в /lib и /usr/lib, в поставке Slackware64 нет 32-битных программ. Требуется сделать ещё один шаг (вам, пользователю), прежде чем Slackware64 можно будет назвать «мультибиблиотечной».

Это достигается следующим образом:

— Сперва нужно переключиться на мультибиблиотечные версии
  * //glibc// (такой glibc, который поддерживает //исполнение// как 32-ных, так и 64-битных бинарных файлов), и
  * //gcc// (способный //компилировать// в 32-битные бинарные файлы наравне с 64-битными).
— Затем взять из 32-битной Slackware библиотеки и установить их в 64-битной Slackware, что завершит процесс создания 32-битного программного слоя.
Slackware для архитектуры x86_64 (или для краткости «Slackware64») является чистой 64-битной операционной системой, но легко обновляется до мультибииблиотечной. Изначально в Slackware64 возможно компилировать и исполнять только 64-битные бинарные файлы.

Когда вышла Slackware64, она имела преимущество перед прочими существовавшими 64-битными «форками». Последние добавляли 32-битный слой совместимости путём перекомпиляции множества своих пакетов как 32-битных бинарников. С другой стороны, Slackware — это дистрибутив, состоящий из 32-битного и 64-битного выпуска, разрабатываемых параллельно. Это означает, что вам не нужно компилировать 32-битные пакеты с нуля для добавления мультибиблиотечности в 64-битную систему. Можно просто взять их из дерева пакетов 32-битной Slackware!
Это было одной из причин не добавлять в Slackware64 полную мультибиблиотечность — мы создали необходимые условия, но если пользователю нужна мультибиблиотечность, то ему нужно действовать самостоятельно.
В разделе ниже я объясню, как взять 32-битный пакет Slackware (скажем, пакет «mesa») и перепаковать его содержимое в пакет «mesa-compat32», который можно установить непосредственно в Slackware64.

Преимущества мультибиблиотечной системы

Я приведу несколько примеров программ, которые требуют поддержки мультибиблиотечности на 64-битной Slackware, поскольку они не запускаются или не компилируются на Slackwre64 без 32-битного слоя совместимости:

  • Wine
    Большинство программ для Windows по-прежнему 32-разрядные, для их запуска на Linux в Wine требуется 32-битная версия Wine.
  • VirtualBox
    Популярное программное обеспечение для виртуальных машин. Несмотря на открытый (частично) исходный код, все ещё нуждается в 32-битных библиотеках на 64-битной Slackware.
  • Skype, Citrix client, …
    Это проприетарные программы с закрытыми исходными кодами. Мы вынуждены зависеть от их разработчиков в части доступности 64-битных бинарников. Для этих программ пока подобного не случилось.

К счастью, поддержка 64 бит становится всё более распространённой. Довольно долго больным местом был Adobe, но в конце концов они выпустили свой плагин Flash для браузера в 64-битном варианте. Sun (ныне поглощённый Oracle-ом) выпустила 64-битную версию своего плагина Java для браузера. Эти два события послужили спусковым крючком для начала работы над Slackware64.

Получение мультибиблиотечных пакетов

Можете загрузить набор мультибиблиотечных пакетов и сценариев с моего сайта: http://slackware.com/~alien/multilib/ .

Наряду с несколькими файлами README (эта статья вики — расширенная версия одного из тех файлов) ниже каталога верхнего уровня «multilib» находятся подкаталоги для каждого 64-битного выпуска Slackware. Там же расположен каталог «source». Он содержит исходные тексты и сценарии SlackBuild.
Что вам действительно нужно — бинарные пакеты — доступны в каталоге <номер_выпуска_slackware> ниже каталога верхнего уровня. Каждый такой каталог содержит подкаталог «slackware64-compat32», где находится основной набор конвертированных 32-битных пакетов Slackware, готовых к установке на 64-битной Slackware.

Для поддержки актуальности советую обратить внимание на ChangeLog ( лента RSS), которые я поддерживаю для моих мультибиблиотечных пакетов. Обычно обновляются пакеты glibc and gcc в течении дня после обновления их в Slackware. Также обратите внимание на compat32pkg от Sėbastien Ballet, автоматизирующие этот процесс, как это делает slackpkg.

Включение мультибиблиотечной поддержки в Slackware64

Примерные инструкции

Этот раздел содержит основные инструкции по добавлению полной поддержки мультибиблиотечности в вашу систему Slackware64. Если хотите разобраться в процессе более подробно или нужна информация о том, как компилировать 32-битные программы в Slackware64, прочтите и последующие разделы.
Обратите внимание, знак «#» в начале команд означает приглашение суперпользователя root.

  • Загрузите пакеты с моего сайта (я давал ссылку в предыдущем разделе), в примере ниже использована ссылка на зеркало. Допустим, используется Slackware 14.0. Выполните:
    # SLACKVER=14.0
    # mkdir multilib
    # cd multilib
    # lftp -c "open http://taper.alienbase.nl/mirrors/people/alien/multilib/ ; mirror ${SLACKVER}"
    # cd ${SLACKVER}
  • Обновите пакеты 64-битной Slackware «gcc«» и «glibc» моими мультибиблиотечными версиями.
    Выполните команду
    # upgradepkg --reinstall --install-new *.t?z

    после перехода в каталог с загруженными пакетами.
    Эта команда также установит дополнительный пакет «compat32-tools».

  • Если загрузили и каталог slackware64-compat32 (мой пример команды «lftp» делает это) — вам повезло, потому что я уже выполнил преобразование 32-битных пакетов! Всё, что нужно, это выполнить команду:
    # upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z

    которая установит все 32-битные пакеты Slackware (или обновит их, если установлены более старые их версии, например, при обновлении до новой версии Slackware). Это всё!

  • Если каталог 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/», но в примерах команд ниже я его не буду использовать).
    • Создайте новый пустой каталог (назовём его «slackware64-compat32») и перейдите в него:
      # mkdir slackware64-compat32 ; cd slackware64-compat32
    • Выполните следующую команду для создания набора 32-битных пакетов совместимости, используя в качестве параметра каталог с официальными 32-битными пакетами Slackware:
      # massconvert32.sh -i /home/ftp/pub/slackware/slackware-13.37/slackware/
    • Предыдущий шаг займёт какое-то время. По завершении установите 90Мб свежеконвертированных 32-битных пакетов Slackware, созданных в подкаталогах текущего каталога:
      # upgradepkg --install-new *-compat32/*.t?z
    • Закончили! Теперь можно загружать, устанавливать и запускать 32-битные программы. Не очень сложно, не так ли?
Если используете пакетный менеджер, как slackpkg, придётся добавить все пакеты glibc и gcc в его чёрный список. Если не принять подобных мер предосторожности, есть риск, что пакетный менеджер случайно заменит мультибиблиотечные версии версиями из оригинальной чисто 64-битной Slackware!
Если используете Slackware 13.37 или новее, тогда slackpkg поддерживает регулярные выражения в файле чёрного списка. В этом случае будет достаточно одной строки в /etc/slackpkg/blacklist для внесения в чёрный список всех моих пакетов (включая мультибиблиотечные пакеты gcc и glibc и все пакеты compat32):
[0-9]+alien
[0-9]+compat32
Если используете Slackware 13.1 или новее и загрузили пакет compat32-tools для этого выпуска, сценарий massconvert32.sh может использовать удалённый сервер веб для загрузки с него 32-битных пакетов Slackware, вместо локального зеркала Slackare или DVD. Используйте параметр «-u» для указания URL, как в примере ниже:
# massconvert32.sh -u http://someserver.org/path/to/slackware-13.37/slackware

Подробные инструкции

Обновление glibc и gcc

Следующие пакеты glibc/gcc являются заменой, не добавлением, к стандартным пакетам Slackware. Для обновления до моих мультибиблиотечных версий пакетов gcc и glibc используйте программу «upgradepkg». Они нужны для исполнения (glibc) и сборки (gcc) 32-битных программ на компьютере с 64-битной Slackware:

Slackware64 13.0

  • Комплект компиляторов gcc:
    • gcc-4.3.3_multilib-x86_64-4alien.txz
    • gcc-g++-4.3.3_multilib-x86_64-4alien.txz
    • gcc-gfortran-4.3.3_multilib-x86_64-4alien.txz
    • gcc-gnat-4.3.3_multilib-x86_64-4alien.txz
    • gcc-java-4.3.3_multilib-x86_64-4alien.txz
    • gcc-objc-4.3.3_multilib-x86_64-4alien.txz
  • Библиотеки GNU libc:
    • glibc-2.9_multilib-x86_64-3alien.txz
    • glibc-i18n-2.9_multilib-x86_64-3alien.txz
    • glibc-profile-2.9_multilib-x86_64-3alien.txz
    • glibc-solibs-2.9_multilib-x86_64-3alien.txz
    • glibc-zoneinfo-2.9_multilib-noarch-3alien.txz

Slackware64 13.1

  • Комплект компиляторов gcc:
    • gcc-4.4.4_multilib-x86_64-1alien.txz
    • gcc-g++-4.4.4_multilib-x86_64-1alien.txz
    • gcc-gfortran-4.4.4_multilib-x86_64-1alien.txz
    • gcc-gnat-4.4.4_multilib-x86_64-1alien.txz
    • gcc-java-4.4.4_multilib-x86_64-1alien.txz
    • gcc-objc-4.4.4_multilib-x86_64-1alien.txz
  • Библиотеки GNU libc:
    • glibc-2.11.1_multilib-x86_64-3alien.txz
    • glibc-i18n-2.11.1_multilib-x86_64-3alien.txz
    • glibc-profile-2.11.1_multilib-x86_64-3alien.txz
    • glibc-solibs-2.11.1_multilib-x86_64-3alien.txz
    • glibc-zoneinfo-2.11.1_multilib-noarch-3alien.txz

Slackware64 13.37

  • Комплект компиляторов gcc:
    • gcc-4.5.2_multilib-x86_64-2alien.txz
    • gcc-g++-4.5.2_multilib-x86_64-2alien.txz
    • gcc-gfortran-4.5.2_multilib-x86_64-2alien.txz
    • gcc-gnat-4.5.2_multilib-x86_64-2alien.txz
    • gcc-java-4.5.2_multilib-x86_64-2alien.txz
    • gcc-objc-4.5.2_multilib-x86_64-2alien.txz
  • Библиотеки GNU libc:
    • glibc-2.13_multilib-x86_64-3alien.txz
    • glibc-i18n-2.13_multilib-x86_64-3alien.txz
    • glibc-profile-2.13_multilib-x86_64-3alien.txz
    • glibc-solibs-2.13_multilib-x86_64-3alien.txz
    • glibc-zoneinfo-2.13_multilib-noarch-3alien.txz

Slackware64 current

  • До тех пор, пока отсутствует отдельный каталог «current», используйте файлы из каталога для наиболее свежего стабильного выпуска.
  • Комплект компиляторов gcc:
    • gcc-4.7.1_multilib-x86_64-1fix1_alien.txz
    • gcc-g++-4.7.1_multilib-x86_64-1fix1_alien.txz
    • gcc-gfortran-4.7.1_multilib-x86_64-1fix1_alien.txz
    • gcc-gnat-4.7.1_multilib-x86_64-1fix1_alien.txz
    • gcc-go-4.7.1_multilib-x86_64-1fix1_alien.txz
    • gcc-java-4.7.1_multilib-x86_64-1fix1_alien.txz
    • gcc-objc-4.7.1_multilib-x86_64-1fix1_alien.txz
  • Библиотеки GNU libc:
    • glibc-2.15_multilib-x86_64-6alien.txz
    • glibc-i18n-2.15_multilib-x86_64-6alien.txz
    • glibc-profile-2.15_multilib-x86_64-6alien.txz
    • glibc-solibs-2.15_multilib-x86_64-6alien.txz
    • glibc-zoneinfo-2012e_2012e_multilib-noarch-6alien.txz

Есть один дополнительный пакет для установки программой «installpkg»:

  • «32-битный инструментарий» (сценарий, облегчающий создание 32-битных пакетов)
    • compat32-tools-2.2-noarch-2alien.tgz
В Slamd64 имеются отдельные мультибиблиотечные 64-битные и 32-битные пакеты gcc/glibc.
Тем не менее, я считаю, что правильнее сохранять эти основные мультибиблиотечные пакеты неразделёнными. Я последовал концепции, используемой в пакете binutils из самой Slackware64, который сочетает 64-битные и 32-битные мультибиблиотечные возможности в едином пакете.

Adding 32-bit Slackware libraries

The upgrade of glibc and gcc which I described in the previous section changes your system from »multilib-ready« to »multilib-enabled«.
Now, all 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.

This is not as simple as grabbing 32bit Slackware packages and installing them in Slackware64:

  • In the first place, you will end up with multiple packages carrying the same name (two 'mesa' packages, two 'zlib' packages, etc…) which will be confusing to you as well as to the slackpkg package manager.
  • And furthermore, if the 32bit package contains binaries (something like /usr/bin/foo), they will overwrite their 64bit counterparts when you install the 32bit package on top. It will seriously mess up your system if that happens.

A little bit of extra care is required so that unnecessary/unwanted files are stripped from the 32bit packages before you install them. What you need, is a 32bit package that does not conflict with whatever is already present in 64bit Slackware. Hence the name «32bit compatibility package».

I decided that it would be a waste of download bandwidth if I created 32bit compatibility versions of Slackware packages myself. After all, you 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 ;-)

Instead, I wrote a few scripts (parts of the script code were written by Fred Emmott of Slamd64 fame) and wrapped these into a »compat32-tools« package. Their 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.

This »compat32-tools« package needs some explanation.
Please read the detailed 'README' file in the /usr/doc/compat32-tools-*/ directory, it will help you on your way. These are the three useful scripts which the package installs:

  • /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)
  • 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 package. You take the mesa package from 32-bit Slackware (x/mesa-7.5-i486-1.txz) and then run
    # convertpkg-compat32 -i /path/to/mesa-7.5-i486-1.txz

    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 destination) is basically the old 32bit package, but stripped from non-essential stuff. The 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.

  • massconvert32.sh
    This script contains an internal list of what I consider the essential subset of 32-bit Slackware packages. It 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 once, for example like this (the example assumes that you mounted your 32bit Slackware DVD on /mnt/dvd):
    # massconvert32.sh -i /mnt/dvd/slackware -d ~/compat32

    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 course, I 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:

    # installpkg ~/compat32/*/*.t?z

    If you are upgrading from an earlier version of these packages (because for instance you upgraded your 64-bit Slackware to a newer release) then you do not use »installpkg« of course, but »upgradepkg –install-new« instead:

    # upgradepkg --install-new ~/compat32/*/*.t?z

    The »–install-new« parameter is needed to install the new compat32 packages which were added between releases.

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 ignored. These 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:
Executing install script for cups-compat32-1.3.11-x86_64-1.txz.
install/doinst.sh: line 5: [: too many arguments
cat: etc/cups/interfaces: Is a directory
cat: etc/cups/ppd: Is a directory
cat: etc/cups/ssl: Is a directory
cat: etc/cups/*.new: No such file or directory
cat: etc/dbus-1/system.d/cups.conf.new: No such file or directory
chmod: cannot access `etc/rc.d/rc.cups.new': No such file or directory
cat: etc/rc.d/rc.cups.new: No such file or directory
Package cups-compat32-1.3.11-x86_64-1.txz installed.
If you were considering to use the convertpkg-compat32 script to convert a non-Slackware package to a -compat32 package, I must strongly advise against this. The script is written with a single purpose and that is to make 32bit versions of the official Slackware64 binaries/libraries available in a multilib setup. As such, the 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 package. Alternatively, 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.

Running 32-bit programs

Running a pre-compiled 32-bit program is easy after you've done the above system preparation. Just download, install and run it!

At times, you may run into a program that requires a certain 32-bit Slackware library that you do not yet have available. In that case, find 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-битную программу (wine и grub — пара примеров исключительно 32-битных программ с открытым исходным кодом), сперва настройте окружение запуском следующей команды:

$ . /etc/profile.d/32dev.sh

Обратите внимание на точку перед именем файла — это тоже часть команды (синоним команды source)! Запуск команды изменяет или создаёт несколько переменных окружения. В результате при компиляции 32-битные версии бинарных файлов получат приоритет над 64-битными — будет запускаться 32-битная компиляция. Изменения действуют до выхода (logout) из шелла.

В этом изменённом окружении возможно использовать стандартные 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''.
— Правка сценария SlackBuild потребуется, если он будет использовать каталоги «lib64/» при «$ARCH = x86_64».  Придётся заставить его использовать каталоги «lib/».  Обычно это достигается поиском определения:<code>
    LIBDIRSUFFIX="64"

</code> и заменой этой строки на

      LIBDIRSUFFIX=""

Предостережения

  • После установки пакетов «-compat32» возможно потребуется переустановить бинарные драйверы видеокарт Nvidia или Ati для X.Org. Эти пакеты драйверов содержат одновременно 64-битные и 32-битные библиотеки для максимальной пользы на 64-битной мультибиблиотечной ОС. Если установили файлы драйвера для обоих архитектур, пакет «mesa-compat32» перезапишет некоторые из 32-битных библиотечных файлов.

    С другой стороны, если были установлены только 64-битные библиотеки драйвера для видеокарты Nvidia/Ati, рекомендуется после установки мультибиблиотечных пакетов переустановить пакет бинарного драйвера. На этот раз выберите также и установку 32-битных файлов.

    Графическим 32-битным приложениям, запускаемым на мультибиблиотечной системе, потребуются 32-битные библиотеки драйвера. Если не установить нужные файлы, возможны сбои.
  • Если соберётесь компилировать собственное 64-битное ядро, удостоверьтесь, что будет скомпилирована возможность 32-битной эмуляции, иначе мультибиблиотечность волшебным образом отключится. Требуемый параметр настройки ядра: CONFIG_IA32_EMULATION

Пакеты, преобразованные massconvert32.sh

Вот список пакетов, преобразованных в «-compat32» версии сценарием massconvert32.sh. Отметьте, что некоторые из этих пакетов не входят в Slackware 13.0 или 13.1, они были добавлены в более поздних версиях Slackware, и поэтому станут причиной сообщения «* FAIL: package 'package_name' was not found!» («* СБОЙ: пакет 'имя_пакета' не найден!») при запуске сценария на ранних версиях Slackware.

# Серия A/:
 
aaa_elflibs
bzip2
cups
cxxlibs
dbus
e2fsprogs
openssl-solibs
util-linux
 
# Серия AP/:
 
mpg123
mysql
 
# Серия D/:
 
libtool
 
# Серия L/:
 
alsa-lib
alsa-oss
atk
audiofile
cairo
dbus-glib
esound
expat
freetype
gamin
gdk-pixbuf2
glib2
gtk+2
gst-plugins-base
gst-plugins-good
gstreamer
hal
jasper
lcms
libart_lgpl
libelf
libexif
libglade
libgphoto2
libidn
libieee1284
libjpeg
libmng
libmpc
libpcap
libpng
libsndfile
libtermcap
libtiff
libusb
libxml2
libxslt
ncurses
pango
popt
qt
readline
sdl
seamonkey-solibs
svgalib
v4l-utils
zlib
 
# Серия N/:
 
curl
cyrus-sasl
gnutls
libgcrypt
libgpg-error
openldap-client
openssl
 
# Серия X/:
 
fontconfig
glew
libFS
libICE
libSM
libX11
libXScrnSaver
libXTrap
libXau
libXaw
libXcomposite
libXcursor
libXdamage
libXdmcp
libXevie
libXext
libXfixes
libXfont
libXfontcache
libXft
libXi
libXinerama
libXmu
libXp
libXpm
libXprintUtil
libXrandr
libXrender
libXres
libXt
libXtst
libXv
libXvMC
libXxf86dga
libXxf86misc
libXxf86vm
libdmx
libdrm
libfontenc
libxcb
mesa
pixman

Сторонние инструменты поддержки

  • Sėbastien Ballet написал инструмент compat32pkg. На его сайте compat32pkg доступен для загрузки как и обширная документация по его использованию в Slackware64.
    Цитата с сайта:
    «Compat32pkg — это автоматический инструмент, предоставляющий всё необходимое для управления (конвертации, установки, обновления, удаления) 32-битной части мультибиблиотечной slackware-64 от AlienBob-а, а также всех 32-битных пакетов из Slackware-32, в которых у пользователей 64-битного окружения может возникнуть потребность, таких как firefox, seamonkey, jre, …»

Переводы

Благодарности

  • Большое спасибо Fred Emmott, создателю Slamd64 — оригинального неофициального 64-битного форка Slackware. Хотя Slackware64 и не основана на его работе, большая часть моих знаний про настройку 32-битной части мультибиблиотечного Linux из его записок в Slamd64.
  • Cross Linux From Scratch.
    Вики CLFS (http://trac.cross-lfs.org/wiki/read#ReadtheCrossLinuxFromScratchBookOnline) из разряда «обязательно к прочтению», если хотите разобраться с портированием Linux на новую архитектуру. Там я позаимствовал несколько идей, концепций и патчей при создании Slackware64 с нуля, и опять, когда я создавал с нуля свои мультибиблиотечные пакеты gcc/glibc (мой README по мультибиблиотечности-с-нуля доступен в каталоге ./source).

Удачи!

Эрик

Источники

 ru:slackware:multilib ()
Этот перевод старее, чем оригинальная страница, и может быть неактуальным. Смотрите, что было изменено.
Перевод этой страницы?: