よんちゅBlog

― このブログは自分用のメモや日々の問題などを共有するためのものです ―

20121005185841 お知らせ:  2013/07/17 ブログデザインをリニューアルしました。

ライブラリが見つからないと怒られる。

Linux(CentOS5)に、とあるアプリケーションをインストールしようとしたときに下のようなエラーが出てインストールが失敗する現象に陥りました。

[root@host tmp]# ./Installer.bin
 :
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: librt.so.1: 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: libc.so.6: cannot open shared object file: No such file or directory
 :

ライブラリが見つからないと言われているんだけど、ちゃんとあるのに何でって感じなんですが、
結局下記のようにバイナリの中身を書き換えることで回避できました。

export LD_ASSUME_KERNEL=2.2.5
 ↓
#xport LD_ASSUME_KERNEL=2.2.5

注意点としてeの部分を#に書き換えるときに #export とするとバイナリがおかしくなっちゃうのでダメです。
viとかで直接書き換えてもいいけど下記のコマンドをさくっと実行すればOK

[root@host tmp]# cp Installer.bin Installer.bak
[root@host tmp]# cat Installer.bak | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > Installer.bin

これでやっとインストールができると思ったら。また別のライブラリがないと怒られました。

[root@host tmp]# ./Installer.bin
 :
Stack Trace:
java.lang.UnsatisfiedLinkError: /tmp/install.dir.28214/Linux/resource/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
 :

今度はほんとにライブラリが足りないみたいので、libXpをインストール

yumコマンドが使える環境なら下記でOK

[root@host tmp]# yum install libXp.so.6

RPMパッケージの場合は下記
今回インストールしたパッケージは「libXp-1.0.0-8.1.el5.i386.rpm」です。

[root@host tmp]# rpm -ivh libXp-<version>.el5.i386.rpm

ちなみにCentOS5だとlibXPだけど、CentOS4の場合は「xorg-x11-deprecated-libs」をインストールする必要があります。
(依存パッケージがいくつかあるからyumインストールした方がいいですね)

補足:今回パッケージをとってきた場所
http://download.osgeo.org/qgis/linux/CentOS_5x/qgis-0.11.0/libs/