未解決の問題

未解決の問題

私はDebian 7.9(wheezy)x64を使用していますbuild-essential:i386

正常に追加i386dpkg --architecture更新、インストールaptitudeしましたjava-jdk-1.6:i386

ところで、build-essential私が何を試しても、依存関係エラーが体系的に生成されます。

apt-get install build-essential:i386
Depend : dpkg-dev:i386 (>= 1.13.5)
E: Unable to correct problems, you have held broken packages...

誰もがアイデアを持っている場合...ありがとう。

また、私Debian メーリングリスト - 返信: cross-build-essential

amd64にi386ビルド必須をインストールするとします。 gcc/g++:amd64 を gcc/g++:i386 に置き換えて、build-essential:i386 をインストールできます。これはi386用のクロスコンパイルに必要なすべてを提供しませんか?

この場合はそうです。これは、AMD64またはIntel 64 CPUでx86コードを実行できるためです。パッケージ自体を一緒にインストールすることはできませんので、gcc-4.7:amd64などをgcc-4.7:i386などに置き換えてください。

これは本当ですか?

答え1

問題は、amd64システムでは実際にbuild-essential:i386が必要ないことです。コンパイルする項目によっては、libpam-dev:i386または他の32ビットdevライブラリが必要になる場合がありますが、64を使用する必要があります。ビットツールは32ビットコードも生成できます。理論的にはより速く実行する必要があり、より多くのメモリにアクセスできるからです。

答え2

build-essential:i386はい、同時に保有して設置できないことは事実です。これには、次の影響を受けないいくつかの実行可能build-essential:amd64ファイル(たとえば)の2つのインスタンスが必要です。gccマルチアーキテクチャ仕様:

未解決の問題

実行可能ファイル用の共同インストールパッケージ

実行可能ファイルを一緒にインストールすると、変更なしで複数のアーキテクチャのシステムで単一のディスクイメージを再利用できます。これは実行可能ファイルへのアーキテクチャ認証パスを使用して複数のアーキテクチャで達成できますが、PATH処理には追加のメカニズム(カーネルサポートや起動時にシンボリックリンクなど)が必要です。

関連情報