環境
CentOS release 6.4 (Final)
経緯
- yumで入れられるgitが1.7.1までだった(2014/12/11現在)
- ius、wandiscoのrpm使ってもうまく入らない...
- やむなし...ソースコードからやるか...
手順
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# wget https://www.kernel.org/pub/software/scm/git/git-2.2.0.tar.gz
# cd git-2.2.0
# ./configure
# make
# make install
# git --version
git version 2.2.0
最初に、必要なパッケージを入れておかないと、make時にエラーが出てくれるパッケージもあるが、
インストールしてから動かないということ(下記その5)も起きるので注意
この手順に至るまでの、今回起こったエラー対処
その1:Makefile.PLを書くのに必要なモジュールがない
# make
...省略...
SUBDIR perl
/usr/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE='' --localedir='/usr/local/share/locale'
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
# yum install perl-ExtUtils-MakeMaker
その2:ツール操作言語が最適化されてない
# make
...省略...
SUBDIR git-gui
GITGUI_VERSION = 0.19.0.2.g3decb8e
* new locations or Tcl/Tk interpreter
GEN git-gui
INDEX lib/
* tclsh failed; using unoptimized loading
MSGFMT po/bg.msg make[1]: *** [po/bg.msg] エラー 127
make: *** [all] エラー 2
# yum install tcl*.x86_64
その3: msgfmtがない
# make
...省略...
Manifying blib/man3/Git.3pm
SUBDIR templates
MSGFMT po/build/locale/bg/LC_MESSAGES/git.mo
/bin/sh: msgfmt: コマンドが見つかりません
make: *** [po/build/locale/bg/LC_MESSAGES/git.mo] エラー 127
(ここで何故か)
# yum install expat-devel
その4:だからmsgfmtがないんだって
# make
...省略...
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></usr/local/share/locale>" <Git.pm >blib/lib/Git.pm
SUBDIR templates
MSGFMT po/build/locale/bg/LC_MESSAGES/git.mo
/bin/sh: msgfmt: コマンドが見つかりません
make: *** [po/build/locale/bg/LC_MESSAGES/git.mo] エラー 127
msgfmtが入ってるgettextをインストール
(公式ではgettext-develと書いてありましたのでそちらがオススメかと)
# yum install gettext
その5:クローンできない()
# git clone https://gist.github.com/abcdefghijkmnlopqrst.git
Cloning into 'abcdefghijkmnlopqrst'...
fatal: Unable to find remote helper for 'https'
curl-develが入ってないことが原因。
アンインストールして、コンパイルからやりなおし...
# make uninstall
make: *** ターゲット `uninstall' を make するルールがありません. 中止.
# cat Makefile | grep uninstall
#
なるほど、つんだ。
アンインストールする手順を、別に書きました。
http://qiita.com/soeda_jp/items/fd7602ecf95db656cb05
参考
CentOS6.5にGitをソースコードからインストールする
[CentOS 6.3にGit1.8.1をインストール]
(http://ameblo.jp/rb26/entry-11443985212.html)
git clone https:/~ でfatal: Unable to find remote helper for 'https'が出たとき