Bagaimana saya bisa menginstal versi 32 dan 64 bit dari paket -dev yang sama?


11

Saya mencoba menginstal libsqlite3-devuntuk kedua i386dan amd64pada mesin Ubuntu 12,04 yang sama. Saya sedang mengembangkan aplikasi yang menggunakan sqlite3, dan ingin mengkompilasi dan menguji versi 32-bit dan 64-bit.

Namun sepertinya libsqlite3-dev:i386paket tersebut tidak kompatibel dengan libsqlite3-dev:amd64, karena apttetap ingin menghapus satu ketika saya menginstal yang lain.

Apakah ada cara untuk menginstal keduanya pada sistem yang sama?

Jawaban:


5

Anda tidak dapat menginstal kedua paket -dev pada sistem yang sama secara bersamaan. Anda hanya dapat menginstal satu atau yang lain, karena mengandung beberapa file yang sama. Multi-arch tidak mengaktifkan dukungan lintas-kompilasi, yang sedang Anda coba lakukan. Jika Anda menginstal :i386versi paket pengembangan sqlite, dan membangun dengan kompiler 64-bit, Anda hampir pasti memiliki bangunan yang rusak.

Taruhan terbaik Anda adalah mengkompilasi dalam chroot 32-bit atau VM, untuk membangun versi 32-bit.


File header memang ada di kedua paket, tetapi isinya identik. Bahkan lebih, untuk lain -devpaket seperti zlib1gyang juga telah berbagi (dan identik) file, itu adalah mungkin untuk menginstal kedua versi secara bersamaan.
Wim

1
Saya hanya menginstal kedua paket secara paksa, ini sepertinya tidak merusak apa pun dan sekarang saya dapat membangun (dan menjalankan dengan benar) kedua versi. Apakah ini hanya kasus pengelola paket yang menyatakan konflik di mana sebenarnya tidak ada?
Wim

0

Secara pribadi, saya tidak menganggap instalasi paksa bahkan sebagai pilihan terakhir. Saya pikir, Anda mungkin menemukan pbuilder cukup berguna. Inilah HOWTO untuk itu. Anda bahkan dapat menginstal distro yang berbeda untuk tujuan itu, dan membuat skrip proses pembangunan untuk target yang berbeda secara bersamaan.

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

Jadi, Anda bahkan dapat membiarkan semua paket dev dihapus. Mereka diinstal ke instalasi chroot sementara itu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.