GNU/Linux >> Linux の 問題 >  >> Linux

CentOS 64 ビットの不適切な ELF インタープリター

一般に、このようなエラーが発生した場合は、そのまま

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」を前に付けるか、ルートとして実行するか、どちらか最適な方を選択してください。


Linux
  1. CentOS8にApacheをインストールする

  2. CentOS6にAuterをインストールする

  3. CentOS7にGitLabをインストールします

  1. CentOS764ビットにASSPv.2をインストールする方法

  2. CentosにTomcat7をインストールするにはどうすればよいですか?

  3. CentOS6にNginxをインストールします

  1. CentOS8にOdoo14をインストールします

  2. CentOS7にPHP7をインストールします

  3. CentOS7にMariaDBをインストールします