运行仅完全支持 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
,谢谢。
- 编译最新
openssl
并安装 - 编译
curl
并安装 - 编译
git
并安装