git - протокол https не поддерживается или отключен в libcurl - PullRequest
1 голос
/ 21 сентября 2019

Я не могу использовать git clone / push и т. Д. В CentOS 7 из-за следующей ошибки:

[wsx@localhost ~]$ git clone https://github.com/ShixiangWang/metawho
Cloning into 'metawho'...
fatal: unable to access 'https://github.com/ShixiangWang/metawho/': Protocol https not supported or disabled in libcurl

Я пытался читать много постов в Интернете (включая stackoverflow), но все еще не могу решить эту проблему.

Я пытался обновить версию curl, но она не работала.

Странно то, что https действительно включен.

[wsx@localhost ~]$ curl -V
curl 7.64.1 (x86_64-conda_cos6-linux-gnu) libcurl/7.64.1 OpenSSL/1.1.1 zlib/1.2.11 libssh2/1.8.2
Release-Date: 2019-03-27
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS GSS-API HTTPS-proxy IPv6 Kerberos Largefile libz NTLM NTLM_WB SPNEGO SSL TLS-SRP UnixSockets

[wsx@localhost ~]$ git --version
git version 2.9.5

Это беспокоит меня много дней, иЯ мало знаю о git и curl / libcurl, надеюсь, кто-нибудь знает, как решить эту проблему и помочь мне.

Это не повторяющаяся проблема.Заранее спасибо.


Best,

Shixiang

ОБНОВЛЕНИЕ :

[wsx@localhost ~]$ ldd $(which curl)
        linux-vdso.so.1 =>  (0x00007ffccfd81000)
        libcurl.so.4 => /opt/anaconda3/bin/../lib/libcurl.so.4 (0x00007f064b209000)
        libz.so.1 => /opt/anaconda3/bin/../lib/libz.so.1 (0x00007f064b1e9000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f064aea2000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f064ac86000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f064a8b8000)
        libssh2.so.1 => /opt/anaconda3/bin/../lib/./libssh2.so.1 (0x00007f064b199000)
        libssl.so.1.1 => /opt/anaconda3/bin/../lib/./libssl.so.1.1 (0x00007f064b100000)
        libcrypto.so.1.1 => /opt/anaconda3/bin/../lib/./libcrypto.so.1.1 (0x00007f064a5bf000)
        libgssapi_krb5.so.2 => /opt/anaconda3/bin/../lib/./libgssapi_krb5.so.2 (0x00007f064a570000)
        libkrb5.so.3 => /opt/anaconda3/bin/../lib/./libkrb5.so.3 (0x00007f064a494000)
        libk5crypto.so.3 => /opt/anaconda3/bin/../lib/./libk5crypto.so.3 (0x00007f064b0e0000)
        libcom_err.so.3 => /opt/anaconda3/bin/../lib/./libcom_err.so.3 (0x00007f064b0da000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f064b0aa000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f064a290000)
        libkrb5support.so.0 => /opt/anaconda3/bin/../lib/././libkrb5support.so.0 (0x00007f064a281000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f064a068000)

ОБНОВЛЕНИЕ

[wsx@localhost ~]$ echo $LD_LIBRARY_PATH
/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:
/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:
/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64:
/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:
/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:
/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64:
/home/public/R/R-base/lib64/R/lib::/lib:/usr/local/lib64:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/lib/amd64/server

Я также хочу сказать, что я только что использовал git clone с root пользователем, все работает, root и wsx используют разные ldd.Таким образом, проблема может быть вызвана неправильной работой.Надеюсь, что это может помочь.

[root@localhost ~]# ldd $(which curl)
    linux-vdso.so.1 =>  (0x00007ffc593cc000)
    libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f466f5d0000)
    libmetalink.so.3 => /lib64/libmetalink.so.3 (0x00007f466f3c0000)
    libssl3.so => /lib64/libssl3.so (0x00007f466f167000)
    libsmime3.so => /lib64/libsmime3.so (0x00007f466ef3f000)
    libnss3.so => /lib64/libnss3.so (0x00007f466ec10000)
    libnssutil3.so => /lib64/libnssutil3.so (0x00007f466e9e0000)
    libplds4.so => /lib64/libplds4.so (0x00007f466e7dc000)
    libplc4.so => /lib64/libplc4.so (0x00007f466e5d7000)
    libnspr4.so => /lib64/libnspr4.so (0x00007f466e399000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f466e17d000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f466df79000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f466dd63000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f466d995000)
    libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007f466d76e000)
    libssh2.so.1 => /lib64/libssh2.so.1 (0x00007f466d534000)
    libpsl.so.0 => /lib64/libpsl.so.0 (0x00007f466d2bc000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f466d06f000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f466cd86000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f466cb53000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f466c94f000)
    libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f466c6fa000)
    liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f466c4eb000)
    libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f466c2c1000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f466c0b9000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f466f85d000)
    libssl.so.10 => /lib64/libssl.so.10 (0x00007f466be47000)
    libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f466b9e4000)
    libicuuc.so.50 => /lib64/libicuuc.so.50 (0x00007f466b66b000)
    libicudata.so.50 => /lib64/libicudata.so.50 (0x00007f466a098000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f4669e88000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f4669c84000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f4669a6b000)
    libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f466984e000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f466f915000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f466954c000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4669336000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f466910f000)
    libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f4668ed8000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f4668c76000)
    libfreebl3.so => /lib64/libfreebl3.so (0x00007f4668a73000)

Как я могу изменить его обратно?


Решено

@ VonC Спасибо за ваш ответ и терпениеexport LD_LIBRARY_PATH=/lib64:/opt/anaconda3/bin/lib:${LD_LIBRARY_PATH} работает.Тем не менее, я все еще в замешательстве, потому что libcurl.so не изменился

[wsx@localhost ~]$ git clone https://github.com/ShixiangWang/metawho
Cloning into 'metawho'...
remote: Enumerating objects: 145, done.
remote: Counting objects: 100% (145/145), done.
remote: Compressing objects: 100% (80/80), done.
remote: Total 235 (delta 68), reused 126 (delta 51), pack-reused 90
Receiving objects: 100% (235/235), 850.89 KiB | 39.00 KiB/s, done.
Resolving deltas: 100% (99/99), done.
Checking connectivity... done.
[wsx@localhost ~]$ ldd $(which curl)
    linux-vdso.so.1 =>  (0x00007ffc348db000)
    libcurl.so.4 => /opt/anaconda3/bin/../lib/libcurl.so.4 (0x00007f9da54e9000)
    libz.so.1 => /opt/anaconda3/bin/../lib/libz.so.1 (0x00007f9da54c8000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f9da5181000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9da4f65000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f9da4b97000)
    libssh2.so.1 => /opt/anaconda3/bin/../lib/./libssh2.so.1 (0x00007f9da5494000)
    libssl.so.1.1 => /opt/anaconda3/bin/../lib/./libssl.so.1.1 (0x00007f9da53fc000)
    libcrypto.so.1.1 => /opt/anaconda3/bin/../lib/./libcrypto.so.1.1 (0x00007f9da489e000)
    libgssapi_krb5.so.2 => /opt/anaconda3/bin/../lib/./libgssapi_krb5.so.2 (0x00007f9da53ac000)
    libkrb5.so.3 => /opt/anaconda3/bin/../lib/./libkrb5.so.3 (0x00007f9da47c2000)
    libk5crypto.so.3 => /opt/anaconda3/bin/../lib/./libk5crypto.so.3 (0x00007f9da47a3000)
    libcom_err.so.3 => /opt/anaconda3/bin/../lib/./libcom_err.so.3 (0x00007f9da479d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f9da5389000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f9da4598000)
    libkrb5support.so.0 => /opt/anaconda3/bin/../lib/././libkrb5support.so.0 (0x00007f9da4589000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f9da4370000)
[wsx@localhost ~]$ echo $LD_LIBRARY_PATH
/lib64:/opt/anaconda3/bin/lib:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64:/opt/anaconda3/bin/lib:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64:/opt/anaconda3/bin/lib:/opt/anaconda3/bin/lib:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64::/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/public/tools/GISTIC2/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64

Как понять, почему это работает сейчас?

1 Ответ

0 голосов
/ 21 сентября 2019

Git может быть скомпилирован без curl , для использования, например, wget.

Как видно из , ldd в git может показать вам исполняемый файлзависимостей.Если вы не видите libcurl, это объясняет сообщение об ошибке.

Попробуйте установить на CentOS7 Git 2.19 , в котором libcurl имеет свои зависимости.

С annaconda3 (менеджером пакетов с открытым исходным кодом, менеджером среды и распространением языков программирования Python и R) curl, попробуйте

export LD_LIBRARY_PATH=/opt/anaconda3/bin/lib:${LD_LIBRARY_PATH}

Или вы можете попробовать скомпилировать его изисходники на CentOS

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.23.0.tar.gz
tar xzf git-2.23.0.tar.gz
cd git-2.21.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/bashrc
source /etc/bashrc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...