web-dev-qa-db-ja.com

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

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

ただし、libsqlite3-dev:i386パッケージはlibsqlite3-dev:AMD64と互換性がないように見えます。これは、aptがもう一方をインストールするときに一方を削除したいためです。

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

11
Wim

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

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

5
dobey

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

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

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

0
Jouni Kivilahti