一般に、このようなエラーが発生した場合は、そのまま
yum provides ld-linux.so.2
次に、次のようなものが表示されます:
glibc-2.20-5.fc21.i686 : The GNU libc libraries
Repo : fedora
Matched from:
Provides : ld-linux.so.2
次に、BRPocock が書いたように次を実行します (ロジックが何であるか疑問に思っている場合に備えて...):
yum install glibc.i686
試す
$ yum provides ld-linux.so.2
$ yum update
$ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
これが解決することを願っています。
64 ビット システムを使用しており、32 ビット ライブラリ サポートがインストールされていません。
32 ビット実行可能ファイルの (ベースライン) サポートをインストールするには
(セットアップで sudo を使用しない場合は、以下の注意をお読みください)
Fedora/Red Hat ファミリーのほとんどのデスクトップ Linux システム:
pkcon install glibc.i686
おそらくいくつかのデスクトップ Debian/Ubuntu システム?:
pkcon install ia32-libs
Fedora 以降の Red Hat、CentOS:
sudo dnf install glibc.i686
古い RHEL、CentOS:
sudo yum install glibc.i686
さらに古い RHEL、CentOS:
sudo yum install glibc.i386
Debian または Ubuntu:
sudo apt-get install ia32-libs
必要な (最初の、メインの) ライブラリを取得する必要があります。
それができたら、おそらくサポート ライブラリが必要になるでしょう
glibc.i686
をインストールする必要がある人 または glibc.i386
おそらく、他のライブラリの依存関係にも実行されます。任意のライブラリを提供するパッケージを識別するには、次を使用できます
ldd /usr/bin/YOURAPPHERE
/usr/bin
にあるかわからない場合 頼ることもできます
ldd $(which YOURAPPNAME)
出力は次のようになります:
linux-gate.so.1 => (0xf7760000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf773e000)
libSM.so.6 => not found
不足しているライブラリを確認します (例:libSM.so.6
上記の出力で)、それぞれについて、それを提供するパッケージを見つける必要があります。
ディストリビューション ファミリごとにパッケージを検索するコマンド
Fedora/Red Hat Enterprise/CentOS:
dnf provides /usr/lib/libSM.so.6
または、古い RHEL/CentOS の場合:
yum provides /usr/lib/libSM.so.6
または、Debian/Ubuntu の場合:
まず、apt-file
のデータベースをインストールしてダウンロードします
sudo apt-get install apt-file && apt-file update
次に
で検索します apt-file find libSM.so.6
プレフィックスパス /usr/lib
に注意してください (通常の)場合。まれに、いくつかのライブラリがまだ /lib
未満で生きている 歴史的な理由から…典型的な64ビットシステムでは、32ビットライブラリは/usr/lib
に存在します および 64 ビット ライブラリは /usr/lib64
に存在します .
(Debian/Ubuntu では、マルチアーキテクチャ ライブラリの編成が異なります。)
不足しているライブラリのパッケージをインストールする
上記はパッケージ名を与えるはずです。例:
libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library
Repo : fedora
Matched from:
Filename : /usr/lib/libSM.so.6
この例では、パッケージの名前は libSM
です パッケージの 32 ビット バージョンの名前は libSM.i686
です .
pkcon
を使用して必要なライブラリを取得するパッケージをインストールできます。 GUI、または sudo dnf/yum/apt-get
適切に…。例:pkcon install libSM.i686
.必要に応じて、バージョンを完全に指定できます。例:sudo dnf install ibSM-1.2.0-2.fc15.i686
.
一部のライブラリには、名前の前に「エポック」指定子があります。これは省略できます (好奇心旺盛な人は以下のメモを読むことができます)。
メモ
警告
ちなみに、あなたが直面している問題は、RPM (または DPkg/DSelect) データベースが破損しているか、実行しようとしているアプリケーションがパッケージ マネージャーからインストールされていないことを意味します。 Linux を初めて使用する場合は、可能な限り、パッケージ マネージャー以外のソースからのソフトウェアの使用を避けたいと思うでしょう...
セットアップで「sudo」を使用しない場合
タイプ
su -c
sudo
を見るたびに 、例えば、
su -c dnf install glibc.i686
ライブラリ名のエポック指定子について
名前の前の「エポック」指定子は、基盤となる RPM ライブラリがバージョン番号を処理する方法のアーティファクトです。例えば
2:libpng-1.2.46-1.fc16.i686 : A library of functions for manipulating PNG image format files
Repo : fedora
Matched from:
Filename : /usr/lib/libpng.so.3
ここでは、2:
省略できます。ちょうど pkcon install libpng.i686
または sudo dnf install libpng-1.2.46-1.fc16.i686
. (漠然と次のような意味を含んでいます:ある時点で、libpng
のバージョン番号 パッケージは逆方向にロールバックされ、更新中に新しいバージョンが「新しい」と見なされるように「エポック」をインクリメントする必要がありました。または、似たようなことが起こった。 2 回)
更新 さまざまなパッケージ マネージャー オプションを明確にし、より完全にカバーする (2016 年 3 月)
新しくインストールした CentOS 6.4 64 ビット マシンで同じ問題に遭遇しました。単一の yum コマンドで、これに加えて同様の問題の 99% が修正されます:
yum groupinstall "互換ライブラリ"
これに「sudo」を前に付けるか、ルートとして実行するか、どちらか最適な方を選択してください。