Как установить 32 и 64-разрядные версии одного и того же пакета -dev?

10

Я пытаюсь установить libsqlite3-dev для i386 и amd64 на той же машине Ubuntu 12.04. Я разрабатываю приложение, использующее sqlite3, и хочу скомпилировать и протестировать как 32-битную, так и 64-битную версии.

Однако похоже, что пакет libsqlite3-dev:i386 несовместим с libsqlite3-dev:amd64 , так как apt продолжает хотеть удалить его, когда я устанавливаю другой.

Есть ли способ установить оба установленных в одной системе?

    
задан Wim 13.02.2013 в 18:15
источник

2 ответа

4

Вы не можете одновременно установить оба пакета -dev в одной и той же системе. Вы можете установить только один или другой, поскольку они содержат одни и те же файлы. Multi-arch не поддерживает поддержку кросс-компиляции, и это то, что вы пытаетесь сделать. Если вы должны были установить :i386 версии пакета разработки sqlite и построить с помощью 64-битного компилятора, вы почти наверняка будете иметь сломанную сборку в результате.

Лучше всего составить компиляцию в 32-битном chroot или VM, чтобы построить 32-разрядную версию.

    
ответ дан dobey 13.02.2013 в 19:05
источник
0

Лично я не считаю принудительные установки даже в крайнем случае. Я думаю, вы могли бы найти pbuilder весьма полезным. Для этого здесь есть HOWTO. Вы можете установить разные дистрибутивы для этой цели и одновременно создать сценарий процесса сборки для разных целей.

Ссылка

Таким образом, вы можете даже удалить все пакеты dev, которые были удалены. Они устанавливаются во временную установку chroot.

    
ответ дан Jouni Kivilahti 14.02.2013 в 12:26