自作のXserver向けツール(になる予定のリポジトリ)をクローンしようとしたところ、以下のエラーが発生。
$ git clone https://github.com/musaprg/xsvr-tools.git
Cloning into 'xsvr-tools'...
git-remote-https: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
phpを呼ぼうとしても同様のエラーが出ました。修正に苦労したのでメモ。
対処法
Xserverのディストリは非公開ということになってますが、実はCentOSです。
$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
ただ、root権限が許可されていない(クソ)ので、パッケージマネージャー等を使うことはできません。
エラーを見ると、libssl.so.6
という共有ライブラリのリンクに失敗してるみたいです。
もしやと思って調べてみると
$ ls /lib64 | grep -E "libssl\.so\.([0-9].)$"
libssl.so.10
どうやらopensslの更新の影響っぽいですね。
root権限が許可されていない(クソ)ので、無理矢理シンボリックリンクを作成して対象します。
LD_LIBRARY_PATHが通っているディレクトリに移動して、以下のコマンドを実行します。
$ ls /lib64 | grep -E "lib(.*)\.so\.10$"
libcrypto.so.10
libgmp.so.10
libssl.so.10
libxtables.so.10
上記の4ファイルに対してシンボリックリンクを作成します。
起動できるかと思いきや
$ php
/usr/bin/php7.0: error while loading shared libraries: libldap-2.3.so.0: cannot open shared object file: No such file or directory
はい。もう一つやります。
$ ln -s /lib64/libldap-2.4.so.2 libldap-2.3.so.0
$ php -v
PHP 7.0.18 (cli) (built: Apr 18 2017 01:56:54) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
これにて終了です
参考