XserverでGitHubを使えるようにしたいです。
先日、Xserverのsv1000番代から、sv5000番代にサーバーを移行しました。
それに伴いOpenSSLのバージョンは 0.9.8 → 1.0.1となったのですが、
以下に示すようなエラーを吐くようになってしまいました。
・エラーメッセージ
/home/<ユーザID>/opt/libexec/git-core/git-remote-https: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory
試したこと
・gitのインストール, アップデート
補足情報
このページと同じような問題な気がしているのですが、どのように
libcrypto.so.10 libgmp.so.10 libssl.so.10 libxtables.so.10
にシンボリックを貼ればいいのか分かりません。
よろしくお願いいたします。
gitは以下のようにインストールしました。
#インストールディレクトリ $ mkdir ~/opt #作業ディレクトリ $ mkdir ~/sysad $ cd ~/sysad $ wget "http://ftp.gnu.org/gnu/gettext/gettext-latest.tar.gz" $ tar zxvf gettext-latest.tar.gz #解凍されたディレクトリへ移動しmakeしてinstall 解凍ディレクトリ名はバージョンによって異なります $ cd gettext-0.19.1 $ ./configure --prefix=/home/<USER>/opt $ make install ##インストールされたか確認 ### gettext (GNU gettext-runtime) 0.19.8.1 のようにバージョンが表示されれば成功 $ ~/opt/bin/gettext --version #git install $ cd ~/sysad/ $ wget https://github.com/git/git/archive/master.zip $ unzip master $ cd git-master $ autoconf $ ./configure --prefix=/home/<USER>/opt $ make all $ make install ##インストールされたか確認 $ ~/opt/bin/git --version git version 2.19.0-rc1
/usr/lib64 に'libexpat.so.1'はありました。
libexpat.so.0をインストールしようにもroot権限が使えないため、yum installしても弾かれてしまいます。
libexpat.so.0 は、ありますか? git は、どのようにインストールしましたか?
gitはhttps://qiita.com/chr/items/aaa5a0e005958c7a9a16を参考にインストールしました。libexpat.so.0 があるかはどのように確認するばいいでしょか?
find /usr -name 'libexpat.so.0' などで検索しましょう。
find /lib64 -name 'libexpat.so.0'を試したところ、何も出てこなかったので、おそらくlibexpat.so.0 はないと思います。
Xserverにlibexpat.soをインストールすればいいと思います。
/usr/lib64 に'libexpat.so.1'ならありました。libexpat.so.0はどのようにインストールすればいいのでしょうか?root権限が使えないため、yum installしても弾かれてしまいます。
手元で試した限りは、存在しているライブラリを参照しに行きますので、git のインストール時に configure すれば、正しいライブラリを利用してくれるはずなんですけど... インストール時のコマンドやメッセージがわかれば、この行でエラーが出ているとか指摘できるかもしれません。
インストール時のコマンドを追記しました。エラーメッセージについてはしばらくお待ちください。ありがとうございます。
gitのインストールのconfigureを実行する際に ./configure --helpを実行するとオプションが表示されます。gitをインストールしたフォルダで ./configure --help を実行していただけますか?
./configure --help の結果です。
git-master]$ ./configure --help
`configure' configures git 2.11.0-rc0 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/git] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-pthreads=FLAGS FLAGS is the value to pass to the compiler to enable POSIX Threads. The default if FLAGS is not specified is to try first -pthread and then -lpthread. --disable-pthreads will disable threading. --enable-jsmin=PATH PATH is the name of a JavaScript minifier or the absolute path to one. --enable-cssmin=PATH PATH is the name of a CSS minifier or the absolute path to one. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-sane-tool-path=DIR-1[:DIR-2...:DIR-n] Directories to prepend to PATH in build system and generated scripts --with-lib=ARG ARG specifies alternative name for lib directory --with-openssl use OpenSSL library (default is YES) ARG can be prefix for openssl library and headers --with-libpcre support Perl-compatible regexes (default is NO) ARG can be also prefix for libpcre library and headers --with-curl support http(s):// transports (default is YES) ARG can be also prefix for curl library and headers --with-expat support git-push using http:// and https:// transports via WebDAV (default is YES) ARG can be also prefix for expat library and headers --without-iconv if your architecture doesn't properly support iconv --with-iconv=PATH PATH is prefix for libiconv library and headers used only if you need linking with libiconv --with-gitconfig=VALUE Use VALUE instead of /etc/gitconfig as the global git configuration file. If VALUE is not fully qualified it will be interpreted as a path relative to the computed prefix at runtime. --with-gitattributes=VALUE Use VALUE instead of /etc/gitattributes as the global git attributes file. If VALUE is not fully qualified it will be interpreted as a path relative to the computed prefix at runtime. --with-pager=VALUE Use VALUE as the fall-back pager instead of 'less'. This is used by things like 'git log' when the user does not specify a pager to use through alternate methods. eg: /usr/bin/pager --with-editor=VALUE Use VALUE as the fall-back editor instead of 'vi'. This is used by things like 'git commit' when the user does not specify a preferred editor through other methods. eg: /usr/bin/editor --with-shell=PATH provide PATH to shell --with-perl=PATH provide PATH to perl --with-python=PATH provide PATH to python --with-zlib=PATH provide PATH to zlib --with-tcltk use Tcl/Tk GUI (default is YES) ARG is the full path to the Tcl/Tk interpreter. Bare --with-tcltk will make the GUI part only if Tcl/Tk interpreter will be found in a system. Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <git@vger.kernel.org>.
./configure に --without-expatを加えるとexpatライブラリなしでビルドできますね。ただし、WebDavを使ったgit pushはできませんけれども。