Как я могу собрать пакеты i386 и amd64 на своем ноутбуке amd64, используя debuild
Я хотел бы иметь возможность создавать несколько версий (i386
а также amd64
) моего пакета, который имеет нетривиальные зависимости (gtk и т. д.).
Мой скрипт сборки использует cmake
,
На данный момент команда debuild -i -us -uc -b
только строит amd64
на моем дистрибутиве Ubuntu 64bit, и я не установил никакой кросс-компиляции.
Как я могу собрать двоичные файлы для обеих платформ?
1 ответ
Упаковка (т.е. debuild
) не самая сложная часть: создание приложения.
Есть много способов построить i386
двоичные файлы в 64-битной системе
Использование 32-битной виртуальной машины
Установка одного через virtualbox проста.
Это, безусловно, самый простой способ, но он займет значительный объем дискового пространства, и вам потребуется настроить всю систему с нуля.
Настройка chroot
Идея состоит в том, чтобы создать минимальную песочницу i386 в вашей 64-битной установке.
Вы будете устанавливать все зависимости сборки инструментов и i386 вашего приложения в chroot и выполнять сборку оттуда.
Этот подход легче, чем у vm, и предлагает большую изоляцию.
Учебник кайдзоу четко объясняет, как это сделать
Chroot, готовый для сборки приложения gtk vala, съедает около 700 Мб на вашем жестком диске.
Использование кросс-компиляции
cmake может легко создать ваше приложение, если у вас установлен мультибиблиотечный набор инструментов.
Мультибиблиотечный набор инструментов можно установить через
sudo apt-get install g++-multilib
Затем вы должны указать m32
параметры для cmake, чтобы он мог создавать двоичные файлы i386, что легко.
Конечно, вам нужно будет установить на свой компьютер все i386-варианты вашего приложения.
При условии apt
с вами боги, это можно сделать с помощью:
dpkg --add-architecture i386
apt-get update
apt-get install libgtk-3-dev:i386 libgee-0.8-dev:i386 ...
Как только это будет сделано, вы можете упаковать свой блестящий i386
двоичные файлы с
debuild -ai386 -i -us -uc -b
debuild clean