同じ-devパッケージの32ビットバージョンと64ビットバージョンの両方をインストールするにはどうすればよいですか?


11

libsqlite3-dev両方i386amd64同じUbuntu 12.04マシンにインストールしようとしています。sqlite3を使用するアプリケーションを開発しており、32ビットバージョンと64ビットバージョンの両方をコンパイルおよびテストしたいと考えています。

同じようしかし、それは見えlibsqlite3-dev:i386パッケージはと互換性がないlibsqlite3-dev:amd64として、apt私は他のインストール時に1を削除したい保ちます。

同じシステムに両方をインストールする方法はありますか?

回答:


5

両方の-devパッケージを同じシステムに同時にインストールすることはできません。同じファイルの一部が含まれているため、どちらか一方のみをインストールできます。Multi-archはクロスコンパイルサポートを有効にしません。これはあなたがやろうとしていることです。:i386sqlite開発パッケージのバージョンをインストールし、64ビットコンパイラーでビルドする場合、ほぼ確実に結果としてビルドが壊れます。

最善の策は、32ビットのchrootまたはVMでコンパイルして、32ビットバージョンをビルドすることです。


ヘッダーファイルは確かに両方のパッケージにありますが、その内容は同じです。さらに、他のため-devのパッケージのようなzlib1gこれも(と同じ)ファイルを共有している、あると同時に、両方のバージョンをインストールすることも可能。
ウィム

1
私は両方のパッケージを強制インストールしましたが、これは何も壊さないようで、両方のバージョンをビルド(および正しく実行)できるようになりました。これは、実際には存在しない競合を宣言するパッケージメンテナーのケースですか?
ウィム

0

個人的には、最後の手段として強制インストールを検討していません。pbuilderは非常に便利だと思うかもしれません。そのためのHOWTOがあります。そのために異なるディストリビューションをインストールし、異なるターゲットのビルドプロセスを同時にスクリプト化することもできます。

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

そのため、すべての開発パッケージをアンインストールしたままにすることもできます。それらは一時的なchrootインストールにインストールされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.