Biarch
Описание
Biarch — поддержка исполнения кода для нескольких архитектур или ABI в одной системе (например, запуск 32-битных приложений на x86_64, или EABI и OABI-приложений на ARM). В случае более чем двух архитектур поддержка называется multiarch (например, запуск 16-, 32- и 64-битного кода на MIPS).
Требует поддержки со стороны многих компонентов системы:
- компилятор и toolchain вообще должны уметь собирать код под необходимые архитектуры и ABI
- пакетный менеджер должен уметь работать с пакетами для нескольких архитектур
- упаковка приложений должна вестись образом, позволяющим сосуществование пакетов для разных архитектур в одной файловой системе.
Список приложений, требующих biarch
32-битные приложения для Linux
- Steam
- Adobe Acrobat Reader
- Foxit Reader
- VueScan
- DraftSight
- Runtime демоны для Hasp (aksusbd)
- Google Picasa
- Oracle 10g, 11g (программа установки)
- Skype
- Программа установки Altera QuartusII. [1]
- Xilinx ISE [2]
- CadSoft EAGLE
- RAID Web Console 2 (RWC2)
- Netup UTM (http://www.netup.ru/UTM5/)
- Citrix Receiver for Linux (http://www.citrix.com/English/SS/downloads/details.asp?downloadID=3323)
- WINE 32-бит (для соответствующих Windows-приложений)
32-битные приложения для Windows (32-битный Wine)
- ДубльГИС (http://www.2gis.ru/)
Реализации
Распространены два подхода к реализации biarch: «а-ля Red Hat» с использованием file coloring в rpm и «а-ля Novell» с перепаковкой нужных 32-битных частей в явном виде. В ALT Linux реализован второй, который не требует поддержки со стороны пакетного менеджера, но определяется возможностями инструмента конверсии.
«arepo 1.0»
arepo имени avm@ — специальный инструмент для перепаковки пакетов для одной архитектуры (i586) в пакеты для другой архитектуры (x86_64). Отрабатывает асинхронно со сборкой пакетов в основной репозиторий, результатом чего нередко была рассинхронизация дополнительного по версиям.
«arepo 2.0»
С целью избежания задержки обновления дополнительных репозиториев разработана новая версия arepo 2.0 (пакет rpmrebuild-arepo). В настоящее время работает синхронно при сборке пакетов в Sisyphus, p6 и t6. Смотрите также описание ldv@.
Замечания по обновлению
Внимание: arepo-репозитории x86_32 и x86_64-i586 несовместимы (одноименные пакеты отличаются по составу и зависимостям), автоматическое обновление со старого на новый не предусмотрено. Тем, у кого используется arepo-репозиторий x86_32, перед началом использования arepo-репозитория x86_64-i586 настоятельно рекомендуется удалить все пакеты, имя которых начинается на «i586-», или принудительно переустановить их все после подключения нового репозитария; поскольку новый оверлей несёт больше пакетов, также рекомендуется добавить APT::Cache-Limit 67108864; в /etc/apt/apt.conf.
Типичный /etc/apt/sources.list для Sisyphus, для желающих использовать arepo, теперь выглядит так:
rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 classic rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic
Переустановка i586-пакетов[1]:
apt-get reinstall $(rpmquery -a --qf '%{name} ' 'i586-*')
Публичные репозитории arepo в ALT Linux (некоторые несовместимы между собой)
Sisyphus
- официальный (arepo 2.0; контакт: vitty@):
- rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic
- Etersoft (lav@):
- rpm ftp://updates.etersoft.ru/pub/ALTLinux/Sisyphus x86_32 classic
- mithraen@:
- rpm http://downloads.mithraen.ru/arepo/sisyphus i586 classic
p7
- официальный (контакт: vitty@):
rpm [p7] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch x86_64-i586 classic
p6/t6
- официальный (контакт: vitty@):
- rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch x86_32 classic
- rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/t6/branch x86_32 classic
- Etersoft (lav@):
- ftp://updates.etersoft.ru/pub/ALTLinux/p6 x86_32 classic
- ftp://updates.etersoft.ru/pub/ALTLinux/t6 x86_32 classic
- mithraen@:
- http://downloads.mithraen.ru/arepo/p6 i586 classic
- http://downloads.mithraen.ru/arepo/t6 i586 classic
p5/5.1
- Etersoft (lav@):
- ftp://updates.etersoft.ru/pub/ALTLinux/p5 x86_32 classic
- ftp://updates.etersoft.ru/pub/ALTLinux/5.1 x86_32 classic
4.x
- Etersoft (lav@):
- rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.1 x86_32 classic
- rpm ftp://updates.etersoft.ru/pub/ALTLinux/4.0 x86_32 classic
Ссылки
- 32-битный OpenGL на 64-битной системе с драйвером NVIDIA
- 32-битный OpenGL на 64-битной системе с драйвером Intel
- http://gcc.gnu.org/ml/gcc/1999-04n/msg00648.html
- http://lists.altlinux.org/pipermail/devel/2007-September/144487.html и далее
- http://www.mail-archive.com/devel-ports@lists.altlinux.org/msg00085.html
- http://lists.altlinux.org/pipermail/devel/2014-July/198914.html (unmets на i586-*)