2016-05-03 20 views
3

私はばかだから、私のUbuntuシステムでlibcurl-gnutls.so.4ファイルを誤って削除しました。今私はそれを再作成する方法を見つけることができません。実際のエラーはgitを使用しようとしているときです:lib curl-gnutls.so.4を作成するには

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をダウンロードしてビルドしてインストールしましたが、必要なライブラリも作成していませんでした。どのように私はこれを修正することができますか?

ありがとうございました。

答えて

5

だと思いますが、libcurl3-gnutls - 試してみてください - sudo apt-get install libcurl3-gnutls

これは私が、これは他の人を助けることを望んで、それを考え出した方法です:

ステップ1:私のマシン(Ubuntuの16.04)上のlibcurl-gnutls.so.4を探しました。

[email protected]:~$ 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:インストールされている場合、このファイルを提供するパッケージを確認します。

[email protected]:~$ 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をインストールするときに展開されるファイルは、以下のとおりです。

[email protected]:~$ 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 
+0

私はこれを試みたが、それはlibcurl3-GNUTLSが既にある」と言われます私はgitを使用しようとすると問題は解決しません。たとえそうでないとしても、そのライブラリはすでに存在していると思うようです。インストールを強制してそのライブラリを再作成する方法はありますか?私はパージしてからもう一度インストールしようとしましたが、これまでにはうまくいきませんでした。 – user2701114

+0

あなたは速いハックを試みます: 1. 'apt-get download libcurl3-gnutls'を使って.debパッケージをダウンロードしてください。 2. 'dpkgの-x libcurl3-gnutls_7.47.0-1ubuntu2_amd64.debを/ tmp/libcurl3' 3を使用しての.debパッケージからのlibcurl-gnutls.so.4を抽出あなたは、ファイルを配置する手動でみてください。 インストール時にlibcurl3-gnutlsが展開するファイルを使って答えを更新しました。 'libcurl-gnutls.so.4'にはシンボリックリンクがあります。シンボリックリンクも作成する必要があります。 – RaviTezu

+0

これはうまくいった!助けてくれてありがとう! – user2701114

3

この問題のもう一つの理由は、あなたのSISTEMが唯一のライブラリの64ビット版を持っており、プログラムが必要とすることです32ビットバージョン。

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

32ビット版をインストールし、それを修正する:この場合、次のようなエラーが表示される場合があります

apt-get install libcurl3-gnutls:i386 
+0

須藤はapt-getをlibcurl3-GNUTLSインストール:i386の リーディングパッケージ一覧...完了 建物の依存関係ツリー 読み込み状態情報...完了 E: – tibbon

+0

パッケージlibcurl3-のgnutlsを見つけることができませんが@tibbonはあなたのLinuxのバージョンに依存します。このパッケージは、12.04からUbuntuベースのディストリビューションには確実に存在します:https:// launchpad。net/ubuntu/precise/i386/libcurl3-gnutls – BlackBear

関連する問題