通过源码将git升级到最新版
因为go-get下载hugo失败,需要升级git到最新版本。
下载最新git代码
wget -O git-master.zip https://github.com/git/git/archive/master.zip
编译
unzip git-master.zip
cd git-master
yum install openssl-devel curl-devel expat-devel perl-ExtUtils-MakeMaker gettext gettext-libs gettext-devel asciidoc xmlto docbook2X
ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
错误
libgit.a(utf8.o): In function `reencode_string_iconv':
/usr/local/git/utf8.c:463: undefined reference to `libiconv'
libgit.a(utf8.o): In function `reencode_string_len':
/usr/local/git/utf8.c:502: undefined reference to `libiconv_open'
/usr/local/git/utf8.c:521: undefined reference to `libiconv_close'
/usr/local/git/utf8.c:515: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [git-credential-store] Error 1
从错误提示看,是缺少libiconv。
安装libiconv
-
下载编译
cd /usr/local
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure –prefix=/usr/local/libiconv && make && make install -
创建一个软链接到/usr/lib
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib -
然后回到git目录继续编译
cd /usr/local/git
make configure
./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv
make
make install -
此时,git应该编译安装成功了,测试如下:
$ git --version
git version 2.5.0