Рубрики
Uncategorized

Centos 7 обновление версии git

Автор оригинала: David Wong.

Версия git для обновления CentOS

Описание проблемы

Версия установки git по умолчанию для системы CentOS 7 составляет 1.8, но установлено, что версия GIT слишком низкая при построении проекта, поэтому для обновления используется метод компиляции исходного кода. В то же время эта статья также применима к установке нового git, я полагаю, что у вас есть определенное представление о git, и некоторые шаги в процессе этой статьи не описаны подробно

Операционная среда

centos7.0

Подготовка программного обеспечения

Версия Git, libiconv

Процесс установки

1. Первый шаг-удалить GIT.

yum remove git

2. Установка зависит от

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install  gcc perl-ExtUtils-MakeMaker

3. Установите Git

Extract the package to the / usr / local / SRC directory
tar -C /usr/local/src -vxf git-2.7.3.tar.xz
cd git-2.7.3
// compile
make prefix=/usr/local/git all
// installation
make prefix=/usr/local/git install
//Write to environment variable (method 1)
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile
//Write to environment variable (method 2)
export PATH=$PATH:/usr/local/bin/git
//Check whether the installation is successful
git --version

Решение проблем

Обычный процесс заключается в установке в соответствии с описанным выше процессом. Вот некоторые проблемы, возникшие в процессе установки 1. Сделайте prefix =/usr/local/git все подсказки со следующими ошибками при компиляции

 LINK git-credential-store
libgit.a(utf8.o): In function `reencode_string_iconv':
/usr/src/git-2.8.3/utf8.c:463: undefined reference to `libiconv'
libgit.a(utf8.o): In function `reencode_string_len':
/usr/src/git-2.8.3/utf8.c:502: undefined reference to `libiconv_open'
/usr/src/git-2.8.3/utf8.c:521: undefined reference to `libiconv_close'
/usr/src/git-2.8.3/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/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
To configure
./configure --prefix=/usr/local/libiconv
Compile
make
install
make install
Establish a soft connection
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib

В это время библиотека libiconv была установлена. Затем введите свой каталог установки git и установите его следующим образом

make configure
./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv
Compile
make
install
make install
Add environment variable
export PATH=$PATH:/usr/local/bin/git
Test version No
git --version

2. При установке libiconv вы столкнетесь с запросом об ошибке./studio. H: 1010:1: ошибка: “получает” необъявленное здесь (не в функции), которое может быть решено с помощью следующих операций

Enter error file path
cd libiconv-1.14/srclib
Edit the file stdio. In. H to find 698 lines. The content is "GL? Warn? On? Use (gets," gets is a security hole - use fgets instead ");
Comment out this line (note that the comment must be / * * /), and replace with the following
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif

Эта статья опубликована open write, блог-платформой с одной статьей и несколькими постами!