Come posso installare entrambe le versioni a 32 e 64 bit dello stesso pacchetto -dev?


11

Sto cercando di installare libsqlite3-devper entrambi i386e amd64sulla stessa macchina Ubuntu 12.04. Sto sviluppando un'applicazione che utilizza sqlite3 e voglio compilare e testare entrambe le versioni a 32 e 64 bit.

Tuttavia sembra che il libsqlite3-dev:i386pacchetto sia incompatibile con il libsqlite3-dev:amd64, poiché aptcontinua a voler rimuovere uno quando installo l'altro.

C'è un modo per ottenere entrambi installati sullo stesso sistema?

Risposte:


5

Non è possibile installare contemporaneamente entrambi i pacchetti -dev sullo stesso sistema. È possibile installare solo l'uno o l'altro, poiché contengono alcuni degli stessi file. Multi-arch non abilita il supporto per la compilazione incrociata, che è quello che stai cercando di fare. Se dovessi installare la :i386versione del pacchetto di sviluppo sqlite e compilare con il compilatore a 64 bit, di conseguenza avrai quasi sicuramente una build interrotta.

La soluzione migliore è compilare in un chroot o VM a 32 bit, per creare la versione a 32 bit.


I file di intestazione sono effettivamente in entrambi i pacchetti, ma il loro contenuto è identico. Ancora di più, per altri -devpacchetti come quelli zlib1gche hanno anche file condivisi (e identici), è possibile installare entrambe le versioni contemporaneamente.
Wim,

1
Ho appena installato entrambi i pacchetti, questo non sembra interrompere nulla e ora posso compilare (ed eseguire correttamente) entrambe le versioni. È solo un caso del manutentore del pacchetto che dichiara un conflitto in cui non ce n'è davvero uno?
Wim,

0

Personalmente, non considero le installazioni forzate nemmeno come ultima risorsa. Penso che potresti trovare pbuilder abbastanza utile. Ecco un HOWTO per questo. È anche possibile installare diverse distribuzioni a tale scopo e scrivere contemporaneamente il processo di costruzione per target diversi.

http://ubuntuforums.org/showthread.php?t=206382

Quindi, puoi anche lasciare disinstallati tutti i pacchetti di sviluppo. Vengono installati in quell'installazione chroot temporanea.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.