编译 Git 以使用 OpenSSL 库 libssl.so.1.0.1

编译 Git 以使用 OpenSSL 库 libssl.so.1.0.1

运行仅完全支持 OpenSSL 版本 0.9.8 的系统。

并行安装的是 OpenSSL 1.0.1 库(由 Distro 支持)

Git 仍然优先使用 0.9.8 库,但我们需要它使用 1.0.1。

可以从源代码构建 Git 以使用 libssl.so.1.0.0 库,以便我们可以与https://github.com使用 TLS v1.2 ?

例如:

/usr/lib64/git/git-http-fetch -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff6c78000) /usr/lib64/git/git-http-push -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff6a4d000) /usr/lib64/git/git-imap-send -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff7d56000) /usr/lib64/git/git-remote-ftp -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff6a4d000) /usr/lib64/git/git-remote-ftps -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff6a4d000) /usr/lib64/git/git-remote-http -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff6a4d000) /usr/lib64/git/git-remote-https -> libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007ffff6a4d000)

需要链接到libssl.so.1.0.0

答案1

这似乎有效(出于测试目的)感谢 肖娜·吉恩

针对我们想要的库构建 Git。

export LD_LIBRARY_PATH=~/git-test-inst/lib
mkdir git-test-inst

cd git-test-inst/
wget https://dl.uxnr.de/mirror/curl/curl-7.59.0.tar.gz
wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
wget https://github.com/git/git/archive/v2.16.3.tar.gz
mv v2.16.3 git-2.16.3.tar.gz

tar -xf openssl-1.1.0h.tar.gz 
cd openssl-1.1.0h
./config --prefix=/home/$USER/git-test-inst
make -j16
make -j16 install
cd ../

tar xf curl-7.59.0.tar.gz 
cd curl-7.59.0
./configure --with-ssl=/home/$USER/git-test-inst/ --prefix=/home/$USER/git-test-inst/
make -j16
make install
ldd /home/$USER/git-test-inst/lib/libcurl.so.4.5.0 
cd ..

tar xf git-2.16.3.tar.gz 
cd git-2.16.3
make configure
./configure --prefix=/home/$USER/git-test-inst/ --with-openssl=/home/$USER/git-test-inst/ --with-curl=/home/$USER/git-test-inst/
make -j16
make install
ldd /home/$USER/git-test-inst/libexec/git-core/git-remote-https

并针对 repos Github.com 进行了测试

答案2

这对我有用!git只是取决于curl,谢谢。

  1. 编译最新openssl并安装
  2. 编译curl并安装
  3. 编译git并安装

相关内容