Як я можу встановити як 32, так і 64-бітні версії того ж пакету -dev?


11

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

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

Чи є спосіб встановити обидва в одній системі?

Відповіді:


5

Ви не можете одночасно встановити обидва пакета -dev в одній системі. Ви можете встановити лише те чи інше, оскільки вони містять одні і ті ж файли. Мульти-арка не дозволяє підтримувати перехресну компіляцію, що саме ви намагаєтеся зробити. Якщо ви мали б встановити :i386версію пакета розробки sqlite і створити за допомогою 64-розрядного компілятора, у результаті ви майже напевно матимете зламану збірку.

Ваша найкраща ставка - компілювати 32-бітний chroot або VM, щоб створити 32-бітну версію.


Файли заголовків дійсно знаходяться в обох пакетах, але їх зміст однаковий. Більш того , для інших -devпакетів , таких як , zlib1gякі також мають загальні (і ідентичні файли), то є можливість встановити обидві версії одночасно.
Вім

1
Я просто встановив обидва пакети, але, здається, це нічого не порушило, і тепер я можу скласти (і запустити правильно) обидві версії. Це лише випадок, коли утримувач пакунків оголошує конфлікт там, де його насправді немає?
Вім

0

Особисто я не розглядаю примусові установки навіть як крайній захід. Я думаю, вам може здатися pbuilder досить корисним. Ось ЯК для цього. Ви навіть можете встановити різні дистрибутиви для цієї мети та одночасно скриптувати процес побудови для різних цілей.

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

Таким чином, ви навіть можете залишити всі пакети розробників видаленими. Вони встановлюються в цю тимчасову установку chroot.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.