さくらVPS CentOS6にgit1.8.2をインストールするときのエラーとか

zomです。git最新版入れるべ、と思い立ってしまったのでやってみたのですが、 ちょこっと手間取ったのでその解決方法などを書いておきます。

gitの公式サイトから現在の最新版(1.8.2)をダウンロードします。 Downloadページの方には行かずトップにあるtarballのリンクから行きます。 git Downloadページの方にLinux用のリンクがあって、yumでやる方法が書いてありますが、 yumリポジトリの問題か、自分がやろうとすると1.7.1をインストールしようとします。

なのでここではtarball(tarでファイルをまとめたものをこう呼ぶそうです)からやります。 で、リンク先からgit-1.8.2.tar.gzをwgetなどで取得、tar zxvfコマンドで展開します。 ここからはrootで作業しました。 ドキュメントに載っている通り、makeをします。

# make prefix=/usr/local all
中略
ttp.c:1 から include されたファイル中:
http.h:6:23: 警告: curl/curl.h: そのようなファイルやディレクトリはありません
http.h:7:23: 警告: curl/easy.h: そのようなファイルやディレクトリはありません
In file included from http.c:1:
http.h:46: error: expected specifier-qualifier-list before ‘CURLcode’
http.h:51: error: expected specifier-qualifier-list before ‘CURL’
http.h:97: error: ‘CURL_ERROR_SIZE’ undeclared here (not in a function)
http.h: In function ‘missing__target’:
http.h:102: error: ‘CURLE_FILE_COULDNT_READ_FILE’ undeclared (first use in this function)
http.h:102: error: (Each undeclared identifier is reported only once
http.h:102: error: for each function it appears in.)
http.h:104: error: ‘CURLE_HTTP_NOT_FOUND’ undeclared (first use in this function)
http.h:106: error: ‘CURLE_FTP_COULDNT_RETR_FILE’ undeclared (first use in this function)
中略
make: *** [http.o] エラー 1

と、こんな感じでエラーが出てしまいました。 curlでエラーが出ているっぽいぞ、ということでcurlyumで入れて再度試みます。

# yum install libcurl-devel
中略。curlはインストールできました。
# make prefix=/usr/local all
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.
BEGIN failed--compilation aborted at Makefile.PL line 3.
make[1]: *** [perl.mak] エラー 2
make: *** [perl/perl.mak] エラー 2

またもやエラー。何やらExtUtils/MakeMakerでエラーのようです。なんだそれ。 ぐぐってみるとperlのライブラリ?か何かでしょうか。これもyumで入れることができるのでサクッとインストールします。

# yum install perl-ExtUtils-MakeMaker
中略。perl-ExtUtils-MakeMakerもインストールできました。
# make prefix=/usr/local all
中略
MSGFMT po/build/locale/zh_CN/LC_MESSAGES/git.mo
2009 個の翻訳メッセージ.
※こんな感じで結構な数の翻訳に関するメッセージ(警告?)が出るけど気にしない
###マニュアル通りmake installをします(rootなのでsudoではないけど)###
# make prefix=/usr/local install
中略
# git --version
git version 1.8.2

ということでソースからのインストールは完了です。

こんな感じでエラーが出ても、たいていエラーメッセージで当たりをつけて、ぐぐってyumでインストールすればいけますね。