如何创建lib curl-gnutls.so.4

时间:2016-05-03 19:18:05

标签: ubuntu curl gnutls

所以,我是个白痴,我不小心在我的Ubuntu系统上删除了libcurl-gnutls.so.4文件。现在我无法弄清楚如何重新创建它。我得到的实际错误是当我尝试使用git时:

git-remote-https: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory

这是对的!该文件不存在。但我不知道如何创建它。我已经尝试使用apt-get来安装libcurl-gnutls,虽然它说它成功了但它并没有创建库。我也下载了curl并构建/安装了它,但这也没有创建我需要的库。关于如何解决这个问题的任何想法?

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

我认为,这是libcurl3-gnutls - 尝试一下 - sudo apt-get install libcurl3-gnutls

这就是我想出来的方式,希望这可以帮助其他人:

Step1:在我的机器上查找libcurl-gnutls.so.4(Ubuntu 16.04)。

ravitezu@Neutron:~$ locate libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0

步骤2:安装时检查提供此文件的软件包。

ravitezu@Neutron:~$ dpkg -S /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
libcurl3-gnutls:amd64: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4

所以,它给了我提供该文件的包名libcurl3-gnutls

以下是安装libcurl3-gnutls时将部署的文件:

ravitezu@Neutron:~$ dpkg -c libcurl3-gnutls_7.47.0-1ubuntu2_amd64.deb 
drwxr-xr-x root/root         0 2016-02-18 13:48 ./
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/lib/
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/
-rw-r--r-- root/root    444800 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.4.0
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/share/
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/share/lintian/
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/share/lintian/overrides/
-rw-r--r-- root/root        67 2016-01-27 17:17 ./usr/share/lintian/overrides/libcurl3-gnutls
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/share/doc/
drwxr-xr-x root/root         0 2016-02-18 13:48 ./usr/share/doc/libcurl3-gnutls/
-rw-r--r-- root/root     10954 2016-01-27 17:17 ./usr/share/doc/libcurl3-gnutls/copyright
-rw-r--r-- root/root      1019 2016-02-18 13:48 ./usr/share/doc/libcurl3-gnutls/changelog.Debian.gz
-rw-r--r-- root/root       590 2016-01-27 17:17 ./usr/share/doc/libcurl3-gnutls/NEWS.Debian.gz
lrwxrwxrwx root/root         0 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.4.0
lrwxrwxrwx root/root         0 2016-02-18 13:48 ./usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3 -> libcurl-gnutls.so.4

答案 1 :(得分:4)

此问题的另一个原因是您的系统只有64位版本的库,程序需要32位版本。在这种情况下,您可能会看到类似于以下内容的错误:

error while loading shared libraries: libcurl-gnutls.so.4: wrong ELF class: ELFCLASS64

安装32位版本将解决它:

apt-get install libcurl3-gnutls:i386