64ビットマシンに32ビットバージョンのlibstdc ++。so.6をインストールする方法


17

64ビットUbuntu 8.04.2サーバーに32ビットバージョンのlibstdc ++。so.6をインストールする必要があります。

私が試したときapt-get install ia32-libs、それは言います

root@devserver:~/downloads# apt-get install ia32-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
ia32-libs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 133 not upgraded.

しかし、PHP拡張機能(libpdf_php.so)を有効にしようとすると、エラーに続いてこのランタイムライブラリを使用し、phpエラーログに記録されます。

root@devserver:~/downloads# cat /var/log/apache2/php_error.log
[01-Nov-2011 16:54:09] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/libpdf_php.so' - /usr/lib/php5/20060613/libpdf_php.so: wrong ELF class: ELFCLASS32 in Unknown on line 0
root@devserver:~/downloads#

回答:


3

libstdc ++。so.6の32ビットバージョンが必要だと思う理由は何ですか?

64ビットUbuntuは64ビットPHPを実行する64ビットApacheを実行しますがlibpdf_php.so、32ビットをロードできないようですが、エラーメッセージで通知されます。

ia32-libsをインストールすることで問題が解決することはまずありません。64ビットバージョンのlibpdf_php.soが必要だと思います

pdflibのWebサイトにはx86-64アーキテクチャ用の個別のダウンロードがあるようです。アーカイブをダウンロードしました。アーカイブ内の.soファイルは確実に64ビットです。


33

使用できたかもしれませんapt-get install lib32stdc++6


2
これは、タイトル(64ビットマシンに32ビットバージョンのlibstdc ++。so.6をインストールする方法)の質問に答えてくれました。
setempler 14

こんにちは、実行sudo apt-get install lib32stdc++6するとo / pのように表示されます: The following NEW packages will be installed: lib32stdc++6 しかし、実行するとls /usr/lib32その存在はありません。どこが間違っているか教えてください。ありがとう。
AB Bolim

これにより、Ubuntu 14.04上のAndroidソースビルドでbisonを実行できました。
ボン

1
:i386パッケージ名の後に追加する必要がありました(実際にはlibstdc ++。so.5の32ビットバージョンが必要でしたapt-get install libstdc++5:i386
スティーブンC.ハウエル

1

問題はlibstdc ++ではなく、libpdf_php.soにあります。そのライブラリの32ビットバージョンをダウンロードする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.