web-dev-qa-db-ja.com

libx:i386とlib32xのインストールの違い

Ubuntuリポジトリには、lib32stdc++6lib32ncurses5などの一連のライブラリがあります。これらを64ビットシステムにインストールするか、libstdc++6:i386およびlibncurses5:i386をインストールします。 2種類のパッケージの違いを知りたいと思います。

実際の違いは何ですか?なぜ両方とも利用できるのですか? libx:i386が物事を行う新しい方法であるという印象を受けて、この方法はlib32xバリアントをインストールするよりも常に好まれますか?いくつかのlib32xおよびいくつかのlibx:i386ライブラリが既にインストールされていることも、それらを対応するものに置き換えることによって1つのタイプのパッケージのみに切り替えるのが良い考えかと思います。

4
Forage

これらのパッケージの実際の違いは、ライブラリの場所です。 _libfoo:i386_を使用すると、ライブラリは_/usr/lib/i386-linux-gnu_などのマルチアーキテクチャパスになりますが、_lib32foo:AMD64_を使用すると、ライブラリは_/usr/lib32_などの「古い」パスになります。遠い将来、_lib32foo_パッケージは削除されますが、まだありません。少なくとも_lib32stdc++6_は、ターゲットアーキテクチャ(つまり、アーキテクチャ)を選択する_gcc-X.Y_などのスイッチをサポートできる_gcc-X.Y-multilib_をビルドするため、現時点で_-m32_のビルドに必要結果のバイナリの)。 _lib32foo_パッケージがないと、_gcc-X.Y_のビルド依存関係がアーキテクチャの境界を越えてしまい、これはまだサポートされていません。 _lib32foo_パッケージをしばらく保持する必要がある問題がいくつかあります。

2
Helmut Grohne