Error: curl:/usr/local/lib/libcurl.so.4: информация о версии отсутствует (требуется завиток)

Здравствуйте, у меня есть эта ошибка, когда я запускаю curl из tcl error: curl:  /usr/local/lib/libcurl.so.4: информация о версии отсутствует (требуется завиток)

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
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
[email protected] :/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*

Ответ 1

У меня также была проблема с libcurl.so.4: no version information available при установке CMAKE. Я cmake, вывод:

cmake: /usr/local/lib/libcurl.so.4: no version information available     (required by cmake)
Segmentation fault (core dumped)'

Я решил это, сделав следующее:

Сначала я libcurl.so.4 путь к 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, введите:

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 ссылку на 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).

После исправления ошибки, я думаю, она может быть вызвана множеством -version curl, как и у меня, в исходной среде ubuntu была такая, но я установил другую.

Ответ 2

В моей системе Ubuntu 12.04 эта ошибка испускалась при запуске /usr/bin/curl (из пакета curl installable), когда уже был /usr/local/bin/curl. Сделайте which curl и посмотрите, какой из них выполняется - если он /usr/bin/curl, попробуйте выполнить /usr/local/bin/curl.

Я столкнулся с этим в контексте crontab, который работает с другим путем от моего пользователя. Быстрое исправление заключалось в том, чтобы явно указать мой curl с помощью /usr/local/bin/curl

Ответ 3

Что касается меня, моя система Ubuntu16 имеет по умолчанию curl. Но я устанавливаю локон по исходному коду.

[email protected]:~/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, который я недавно установил (20 мая, 19:54):

[email protected]:~/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*

И тогда я их

[email protected]:~/cmake_practice/cmake_build/build_demo9# rm -f /usr/local/lib/libcurl.so.4
[email protected]:~/cmake_practice/cmake_build/build_demo9# rm -f /usr/local/lib/libcurl.so.4.4.0

Проверь это:

[email protected]:~/cmake_practice/cmake_build/build_demo9# cmake --version
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
[email protected]:~/cmake_practice/cmake_build/build_demo9# 

Ответ 4

здесь у меня есть простое решение.

Вы можете установить libcurl и столкнуться с проблемой. Но вы можете решить эту проблему, просто перестроив свой собственный cmake с помощью установленного вами libcurl (используйте LD_LIBRARY_PATH, чтобы указать на ваш libcurl)

Работает для меня. (Ubuntu 16.04, libcurl 4.5 и cmake 3.11.3)

Ответ 5

В последней версии Ubuntu (18.4) мне пришлось выполнить sudo apt-get remove libcurl.
а затем переустановите то, что нужно, например, curl

Ответ 6

В моем Ubuntu 16.04 я столкнулся с той же проблемой, когда экспортировал бинар анаконды в PATH и lib в LD_LIBRARY_PATH. Я решил это, установив cmake из conda-forge: conda install cmake. Если вы используете anaconda в качестве меня, вы можете использовать этот метод, чтобы исправить это, в противном случае используйте решения других.

Ответ 7

Я столкнулся с этой проблемой при создании новой версии curl 7.5.61, а затем при перестройке приложения. Решением для меня было установить --enable-versioned-symbols которое по умолчанию отключено.

./configure --enable-versioned-symbols --prefix=$PWD