Я создаю приложение, и я хочу создать пакет DEB, но у меня проблема ...
Я хочу, чтобы пакет DEB можно было установить как на 32-битные машины, так и на 64-битные машины. {{1} } Затем я создаю 32-битный пакет для поддержки обеих архитектур, но у меня проблемы с зависимостями: когда 32-битная система устанавливает пакет, он работает хорошо, но когда 64-битная система устанавливает пакет, зависимости (общие библиотеки) должны быть установлены 32-битные (доступны в 64-битных репозиториях).
Как я могу это сделать?
С мультиархом это легко. Просто создайте дебет i386. На машине amd64 (если в Ubuntu все зависимости были многоуровневыми) будут установлены 32-битные версии.
Быстрый ответ дается здесь: https://help.ubuntu.com/community/32bit_and_64bit#How_to_Make_32-bit_Applications_Work_on_a_64-bit_Operating_System
Установка ia32-libs
, безусловно, самое быстрое решение Однако этого может быть недостаточно в зависимости от ситуации.
В 64-битных инсталляциях должна быть подходящая запись для репозитория i386, и в этом случае вы используете packagename:i386
для зависимости вместо packagename
. Примером этого является wine, где вам нужны 32- и 64-битные библиотеки для запуска всех ваших приложений Windows.