Làm cách nào tôi có thể cài đặt cả phiên bản 32 và 64 bit của cùng một gói -dev?


11

Tôi đang cố gắng cài đặt libsqlite3-devcho cả hai i386amd64trên cùng một máy Ubuntu 12.04. Tôi đang phát triển một ứng dụng sử dụng sqlite3 và muốn biên dịch và kiểm tra cả phiên bản 32 bit và 64 bit.

Tuy nhiên, có vẻ như libsqlite3-dev:i386gói không tương thích với libsqlite3-dev:amd64, vì tôi aptmuốn xóa cái này khi tôi cài đặt cái kia.

Có cách nào để cài đặt cả hai trên cùng một hệ thống không?

Câu trả lời:


5

Bạn không thể cài đặt cả hai gói -dev trên cùng một hệ thống cùng một lúc. Bạn chỉ có thể cài đặt cái này hoặc cái kia, vì chúng chứa một số tệp giống nhau. Multi-arch không cho phép hỗ trợ biên dịch chéo, đó là những gì bạn đang cố gắng thực hiện. Nếu bạn đã cài đặt :i386phiên bản của gói phát triển sqlite và xây dựng với trình biên dịch 64 bit, thì gần như chắc chắn bạn sẽ có một bản dựng bị hỏng.

Đặt cược tốt nhất của bạn là biên dịch trong chroot 32 bit hoặc VM, để xây dựng phiên bản 32 bit.


Các tập tin tiêu đề thực sự trong cả hai gói, nhưng nội dung của chúng là giống hệt nhau. Thậm chí nhiều hơn, cho khác -devgói như zlib1gđó cũng đã chia sẻ (và giống hệt nhau) tác phẩm, nó có thể cài đặt cả hai phiên bản cùng một lúc.
Wim

1
Tôi chỉ cài đặt cả hai gói, điều này dường như không phá vỡ bất cứ điều gì và bây giờ tôi có thể xây dựng (và chạy chính xác) cả hai phiên bản. Đây có phải chỉ là một trường hợp của người bảo trì gói tuyên bố một cuộc xung đột trong đó không thực sự xảy ra?
Wim

0

Cá nhân, tôi không coi việc cài đặt bắt buộc ngay cả như là phương sách cuối cùng. Tôi nghĩ rằng, bạn có thể thấy pbuilder khá hữu ích. Đây là một hướng dẫn cho điều đó. Bạn thậm chí có thể cài đặt các bản phân phối khác nhau cho mục đích đó và kịch bản quy trình xây dựng cho các mục tiêu khác nhau cùng một lúc.

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

Vì vậy, bạn thậm chí có thể để tất cả các gói dev được gỡ cài đặt. Họ được cài đặt vào cài đặt chroot tạm thời đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.