質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • Linux

    4428questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3134questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Git

    1632questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • OpenSSL

    125questions

    OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Xserverでgit pull ができない

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 447

sug1t0m0

score 32

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しても弾かれてしまいます。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • fu7mu4

    2018/09/04 21:49

    gitのインストールのconfigureを実行する際に ./configure --helpを実行するとオプションが表示されます。gitをインストールしたフォルダで ./configure --help を実行していただけますか?

    キャンセル

  • sug1t0m0

    2018/09/04 21:53 編集

    ./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>.

    キャンセル

  • fu7mu4

    2018/09/04 23:33

    ./configure に --without-expatを加えるとexpatライブラリなしでビルドできますね。ただし、WebDavを使ったgit pushはできませんけれども。

    キャンセル

回答 1

0

 libexpat.so.1 をビルド時に見つけさせる方法

(動的にライブラリを探すパスを指定する) LD_LIBRARY_PATH 環境変数を確認します。 

echo $LD_LIBRARY_PATH


この結果次のように:区切りでフルパスが表示される場合と空っぽの場合があります。
/usr/lib64:/usr/local/lib

空の場合、書き込み可能なフォルダがない場合、以下を実行して、適当なフォルダのフルパスを追加します。ここでは${HOME}/libとする

export LD_LIBRARY_PATH=${HOME}/lib:$LD_LIBRARY_PATH

実際にそのフォルダがない場合は、mkdir -p ${HOME}/lib などで作成してください。

LD_LIBRARY_PATH の中の書き込み可能なフォルダに libexpat.so.1 のシンボリックリンクを作成してください。

それから gitをソースからインストールするconfigureを実行すると、configureスクリプトが libexpat.so.1 を見付けてくれるでしょう。

インストールが終りましたら実行まで確認してください。LD_LIBRARY_PATHの値を変更した場合、ログアウト後に設定が失われてしまうため、 .bashrc や .bash_profileに LD_LIBRARY_PATHの値を変更するように記載します(ここでは${HOME}/lib)。

export LD_LIBRARY_PATH=${HOME}/lib:$LD_LIBRARY_PATH

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/09/05 00:23

    すみません。先ほど、https://blog.ko31.com/201606/xserver-git-install/を参考にcurlをインストールしたところ、「 Protocol "https" not supported or disabled in libcurl」というエラーに変わってしまいました。(おそらくconfigureスクリプトがlibexpat.soを見つけてくれたからだと思うのですが。)また、curlをインストールするときにprotocolにhttpsとftpsが登録されません。「./configure --with-ssl」なども試したのですが、ダメでした。

    キャンセル

同じタグがついた質問を見る

  • Linux

    4428questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3134questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Git

    1632questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • OpenSSL

    125questions

    OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。