186

CentOS 6 64ビットバージョンをインストールしました。64ビットマシンに32ビットアプリケーションをインストールしようとすると、次のエラーが発生します。

/lib/ld-linux.so.2:不正なELFインタープリター:そのようなファイルまたはディレクトリはありません

Linuxは初めてです。これを解決するにはどうすればよいですか?

4

9 に答える 9

361

64ビットシステムを使用していて、32ビットライブラリサポートがインストールされていません。

32ビット実行可能ファイルの(ベースライン)サポートをインストールするには

(セットアップでsudoを使用しない場合は、以下の注をお読みください)

Fedora / Red HatファミリーのほとんどのデスクトップLinuxシステム:

 pkcon install glibc.i686

おそらくいくつかのデスクトップDebian/Ubuntuシステム?:

pkcon install ia32-libs

Fedora以降のRedHat、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月)

于 2011-11-30T15:33:16.963 に答える
18

新しくインストールしたCentOS6.464ビットマシンで同じ問題が発生しました。単一のyumコマンドで、これに加えて同様の問題の99%が修正されます。

yumgroupinstall「互換性ライブラリ」

これに「sudo」というプレフィックスを付けるか、rootとして実行します。どちらか最適な方法です。

于 2013-11-03T23:03:49.973 に答える
16

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

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
于 2015-01-18T22:57:43.407 に答える
4

試す

$ yum provides ld-linux.so.2
$ yum update
$ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6

これが解決することを願っています。

于 2017-05-16T07:24:49.057 に答える
2

代わりに、OpenJDK 32ビット(.i686)をインストールすることもできます。私のテストによると、インストールされ、問題なく動作します。

sudo yum install java-1.8.0-openjdk.i686

ノート:

java-1.8.0-openjdkパッケージには、Javaランタイム環境のみが含まれています。Javaプログラムを開発する場合は、java-1.8.0-openjdk-develパッケージをインストールしてください。

詳細については、こちらをご覧ください。

于 2018-12-01T07:05:36.813 に答える
0

BRPocockにコメントを追加したかったのですが、十分な特権がありません。

したがって、私の貢献は、IBMのIntegrationBusバンドルからIBMIntegrationToolkitをインストールしようとするすべての人に向けられました。

/ Integration_Toolkit / IM_Linuxフォルダー(実行するファイルは「install」)から「InstallationManager」コマンドを実行しようとすると、この投稿に示されているエラーが発生します。

この問題を修正するための詳細な手順は、次のIBMのWebページにあります 。https ://www-304.ibm.com/support/docview.wss?uid = swg21459143

これがインストールしようとしている人に役立つことを願っています。

于 2014-12-03T19:21:39.690 に答える
0

sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1libstdc++。so.6

于 2016-05-17T09:22:56.343 に答える
0

Debianの場合、システムに少なくとも1つのコンパイラが必要です(DebianStretchおよびJessie32ビットライブラリによる)。

apt-get install -y gcc-multilibdebian:jessieに基づいてdockerコンテナで32ビットの実行可能ファイルを実行するためにインストールしました。

于 2017-10-22T23:57:36.967 に答える
0

私の場合、コマンドを使用して問題を解決しましたyum install redhat-lsb

于 2021-09-04T10:32:10.233 に答える