Как кросс-компилировать существующий пакет deb от 64-битной до 32-битной архитектуры

8

Я восстановил пакет deb с пользовательским патчем для моего компьютера, который является 64-битным компьютером. Я сделал это с помощью:

sudo apt-get -b source [package name]

Теперь мой вопрос: как сделать это аналогичным образом, чтобы кросс-компилировать один и тот же пакет для 32-битных машин?

Спасибо николай

Николай Дойчев
источник
3
Есть ли возможность загрузки на Launchpad? Launchpad предоставляет серверы сборки, которые могут создавать пакеты для вас в любой архитектуре, которую вы хотите.
Натан Осман

Ответы:

3

В большинстве случаев невозможно выполнить кросс-компиляцию 32-битного пакета из 64-битного deb-пакета, если пакет содержит какие-либо исходные файлы или библиотеки.

Вам нужно будет переупаковать с помощью 32-битных библиотек и перекомпилировать исходный код.

Мое предложение было бы разделить вашу компиляцию и упаковку - делайте вашу 32-битную работу в отдельной 32-битной виртуальной машине.

Возможно, лучше было бы установить LaunchPad PPA и позволить Launchpad автоматически выполнять компиляцию как для 64-битной, так и для 32-битной архитектуры.

свобода ископаемых
источник
2

Вы можете использовать среду кросс-компиляции и / или некоторые вспомогательные инструменты.

Лично я за xdeb он меня никогда не подводил!

Это руководство: Использование Xdeb поможет вам настроить среду Xdeb и узнать, как использовать инструменты.

LassePoulsen
источник