こんにちは、tclエラーからcurlを実行するとこのエラーが発生します。curl:/usr/local/lib/libcurl.so.4:バージョン情報がありません(curlに必要)
curl --version curl 7.40.0(x86_64-unknown-linux-gnu)libcurl/7.40.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3 プロトコル:dictファイルftp ftps Gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 機能:IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
root@lasdf :/usr/local/lib$ ll
drwxr-xr-x 5 root root 4096 Feb 4 17:33 ./
drwxr-xr-x 10 root root 4096 Aug 2 2014 ../
-rw-r--r-- 1 root root 878996 Feb 4 17:33 libcurl.a
-rwxr-xr-x 1 root root 979 Feb 4 17:33 libcurl.la*
lrwxrwxrwx 1 root root 16 Feb 4 17:33 libcurl.so -> libcurl.so.4.3.0*
lrwxrwxrwx 1 root root 16 Feb 4 17:33 libcurl.so.4 -> libcurl.so.4.3.0*
-rwxr-xr-x 1 root root 472203 Feb 4 17:33 libcurl.so.4.3.0*
CMAKEのインストールでlibcurl.so.4: no version information available
にも問題がありました。 cmake
と入力すると、出力は次のとおりです。
cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
Segmentation fault (core dumped)`
私はこれを次のようにして解決しました。
まず、libcurl.so.4
のパスを見つけます:
locate libcurl.so.4
結果は次のとおりです。
/home/chenjian/software/curl-7.20.0/lib/.libs/libcurl.so.4
/home/chenjian/software/curl-7.20.0/lib/.libs/libcurl.so.4.2.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
/usr/local/lib/libcurl.so.4
/usr/local/lib/libcurl.so.4.2.0
次に、libcurl.so.4、typeのリンクを見つけます。
ls -l /usr/local/lib/libcurl.so.4
結果:
lrwxrwxrwx 1 root root 16 Aug 16 21:15 /usr/local/lib/libcurl.so.4 -> libcurl.so.4.2.0
第三に、それを削除してlibcurl.so.4.3.0
へのリンクを再構築します:
Sudo rm /usr/local/lib/libcurl.so.4
Sudo ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0 /usr/local/lib/libcurl.so.4
次に、確認してください:
ls -l /usr/local/lib/libcurl.so.4
さて、出力は次のとおりです。
lrwxrwxrwx 1 root root 42 Aug 24 09:23 /usr/local/lib/libcurl.so.4 -> /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
次に、cmake -version
と入力すると、結果は
cmake version 3.2.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
バグを修正した後、私と同じように、Origin ubuntu環境には複数のcurlがありましたが、私は別のcurlをインストールしました。
Ubuntu 12.04システムでは、/usr/bin/curl
が既に配置されているときに/usr/local/bin/curl
(curl
インストール可能パッケージから)を実行すると、このエラーが発生しました。 which curl
を実行し、どれが実行されているかを確認します-/usr/bin/curl
の場合は、代わりに/usr/local/bin/curl
を実行してください。
私は、ユーザーとは異なるパスで実行されるcrontabのコンテキストでこれに遭遇しました。クイックフィックスは、/usr/local/bin/curl
でcurl
sを明示的に指定することでした
最新のubuntu(18.4)では、Sudo apt-get remove libcurl.
そして必要なものを再インストールします。例えば、curl
私に関しては、私のシステムはデフォルトのカールを持つubuntu16です。しかし、ソースコードでcurlをインストールします。
root@xy:~/cmake_practice/cmake_build/build_demo9# locate libcurl.so.4
/home/xy/anaconda2/lib/libcurl.so.4
/home/xy/anaconda2/lib/libcurl.so.4.4.0
/home/xy/anaconda2/pkgs/curl-7.55.1-hcb0b314_2/lib/libcurl.so.4
/home/xy/anaconda2/pkgs/curl-7.55.1-hcb0b314_2/lib/libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0
/usr/local/lib/libcurl.so.4
/usr/local/lib/libcurl.so.4.4.0
その後、新しいlibcurl.soが表示されるので、最近インストールします(5月20日19:54):
root@xy:~/cmake_practice/cmake_build/build_demo9# ll -th /usr/local/lib/libcurl.so.4
lrwxrwxrwx 1 root root 16 May 20 19:54 /usr/local/lib/libcurl.so.4 -> libcurl.so.4.4.0*
そして、私はそれらをrmします:
root@xy:~/cmake_practice/cmake_build/build_demo9# rm -f /usr/local/lib/libcurl.so.4
root@xy:~/cmake_practice/cmake_build/build_demo9# rm -f /usr/local/lib/libcurl.so.4.4.0
それを確認してください:
root@xy:~/cmake_practice/cmake_build/build_demo9# cmake --version
cmake version 3.5.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
root@xy:~/cmake_practice/cmake_build/build_demo9#
Ubuntu 16.04では、anaconda binをPATH
にエクスポートし、libをLD_LIBRARY_PATH
にエクスポートするときに同じ問題に遭遇しました。 conda-forgeからcmakeをインストールして解決しました:conda install cmake
。私としてanacondaを使用している場合、このメソッドを使用して修正できます。それ以外の場合は、他のソリューションを使用します。
ここに簡単な解決策があります。
Libcurlをインストールして問題に遭遇した可能性があります。ただし、インストールしたlibcurlを使用して独自のcmakeを再構築するだけで解決できます(LD_LIBRARY_PATHを使用してlibcurlを指定します)
私のために働く。 (Ubuntu 16.04、libcurl 4.5およびcmake 3.11.3)
Curl 7.5.61の新しいバージョンをビルドしてからアプリケーションを再構築しているときに、この問題が発生しました。私にとっての解決策は、--enable-versioned-symbols
これはデフォルトで無効になっています。
./configure --enable-versioned-symbols --prefix=$PWD