インストール後にCloud9 IDE=をローカルで実行しようとすると、次のエラーが表示されます。
# bin/cloud9.sh
Linux 64 bit
support/node-builds-v4/node-linux64: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
ライブラリは/lib
、/usr/lib
およびシンボリックリンクを介して他の場所にあるため、奇妙に見えます。
チェックのために、ここにメインファイルがあります:
# ls -l /usr/lib | grep libssl
-r-xr-xr-x. 1 root root 319816 Oct 6 2014 libssl.so.0.9.8
ファイルが見つからないのはなぜですか、他の$PATH
変数に含める必要があるのですか、それとも原因が考えられますか?
更新:
それはsslのより広い問題のようです:
# git submodule update --init --recursive
Cloning into 'support/sass'...
fatal: remote error:
Repository not found.
Clone of 'git://github.com/visionmedia/sass.js.git' into submodule path 'support/sass' failed
Failed to recurse into submodule path 'support/connect'
失敗したモジュールはssl
をダウンロードする必要がありますが、ダウンロードした他のモジュールでは必要ありません。
# cat .gitmodules
[submodule "support/socket.io-client"]
path = support/socket.io-client
url = http://github.com/ajaxorg/socket.io-client.git
[submodule "support/uglify-js"]
path = support/uglify-js
url = http://github.com/ajaxorg/UglifyJS.git
[submodule "support/connect"]
path = support/connect
url = https://github.com/ajaxorg/connect.git
Opensslのバージョンを確認します。
# yum list installed openssl
Loaded plugins: refresh-packagekit, security, ulninfo
Installed Packages
openssl.x86_64 1.0.1e-42.el6
64ビットインストールopenssl
ライブラリ:
# ls -l /usr/lib64 | grep libssl
-rwxr-xr-x. 1 root root 261248 Nov 4 10:37 libssl3.so
lrwxrwxrwx. 1 root root 16 Dec 1 10:30 libssl.so -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 324680 Jun 5 2014 libssl.so.0.9.8e
lrwxrwxrwx. 1 root root 16 Dec 1 10:29 libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 444184 Jul 23 09:43 libssl.so.1.0.1e
lrwxrwxrwx. 1 root root 16 Dec 3 11:29 libssl.so.6 -> libssl.so.0.9.8e
libssl.so.0.9.8 を使用してRPMを検索するとわかるように、これは古いファイルであり、opensslに対してリストしたRPMの一部ではない可能性があります。以下を使用して、RPMの一部であるファイルを参照できます。
rpm -ql openssl.x86_64
さらに、そのファイルがどのRPMに属しているかを確認できます。
rpm -qf /usr/lib/libssl.so.0.9.8
また、ファイルが使用するアーキテクチャ
file /usr/lib/libssl.so.0.9.8
最も可能性の高い説明は(1つ以上)です。
ldconfig
パスは/usr/lib64
を使用します(/usr/lib
ではありません)。64ビットのアプリケーションは、32ビットの共有ライブラリをロードできず、ldconfig
がその可能性があると言っている場所でのみそのライブラリを見つけます。