Javaアプリケーションを.binファイルからインストールしようとしています。コマンドラインからインストーラーを開くと、次のエラーが表示されます:
[boxen]# ./ZendStudio-5_2_0.bin
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
hostname: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
Launching installer...
grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/tmp/install.dir.7515/Linux/resource/jre/bin/Java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
...
問題は、これらのオブジェクトのすべてがシステム上に存在することです。
# locate libdl.so.2
/usr/lib/libdl.so.2
/usr/lib64/libdl.so.2
# locate libc.so.6
/usr/lib/libc.so.6
/usr/lib/i686/nosegneg/libc.so.6
/usr/lib64/libc.so.6
# locate libnsl.so.1
/usr/lib/libnsl.so.1
/usr/lib64/libnsl.so.1
これを発行すると、
echo $LD_LIBRARY_PATH
何もない。
そこで、パスにインクルードディレクトリを追加します。
[boxen]# LD_LIBRARY_PATH=/usr/lib:/usr/lib64/:/usr/local/lib/:/usr/local/lib64/
[boxen]# echo $LD_LIBRARY_PATH
/usr/lib:/usr/lib64/:/usr/local/lib/:/usr/local/lib64/
そして、インストーラーを再実行します...
[boxen]# ./ZendStudio-5_2_0.bin
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
hostname: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
Launching installer...
grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/tmp/install.dir.8055/Linux/resource/jre/bin/Java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
...
まったく同じエラーのバッチ。
インストール済みJavaバージョン:
Java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el7_0-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
インストールされたglib:
# rpm -qa | grep glibc
glibc-2.17-55.el7.i686
glibc-2.17-55.el7.x86_64
glibc-headers-2.17-55.el7.x86_64
glibc-common-2.17-55.el7.x86_64
glibc-devel-2.17-55.el7.x86_64
インストーラーがそこにあり、環境変数にあるファイルを表示しない原因は何ですか?
私はこのソリューションを偶然見つけましたが、他の誰かがレガシーソフトウェアのインストールでこの問題に遭遇した場合に備えて、投稿したかったのです。
Assuming the install anywhere script is called Install.bin
# cp Install.bin Install.bak
# cat Install.bak | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > Install.bin
# rm Install.bak
これはうまくいきました。
修正は元々 Zend Knowledgebase (現在は404'ed)に投稿されていましたが、まだ linuxquestions.org にアーカイブされています。