web-dev-qa-db-fra.com

erreur: curl: /usr/local/lib/libcurl.so.4: aucune information de version disponible (requis par curl)

Bonjour, j'ai cette erreur lorsque je lance curl à partir de l'erreur tcl: curl: /Usr/local/lib/libcurl.so.4: pas d'informations de version disponibles (requis par 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 
 Protocoles: fichier dict ftp ftps Gopher http https imap imaps ldap ldap pop3 pop3s rtmp ssr smb smbs smtp smtps telnet tftp 
 Caractéristiques: IDN IPv6 Grand fichier NTLM NTLM_WB SSL libz TLS-SRP Unix.
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*
6
user4457475

J'ai également eu un problème avec libcurl.so.4: no version information available lors de l'installation de CMAKE. Je tape cmake, le résultat est:

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

J'ai résolu ceci en procédant comme suit:

Tout d'abord, je localise le chemin de libcurl.so.4:

locate libcurl.so.4

le résultat est:

/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

Deuxièmement, recherchez le lien de libcurl.so.4, tapez:

ls -l /usr/local/lib/libcurl.so.4

le résultat:

lrwxrwxrwx 1 root root 16 Aug 16 21:15 /usr/local/lib/libcurl.so.4 -> libcurl.so.4.2.0

Troisièmement, supprimez-le et reconstruisez le lien en 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

Ensuite, vérifiez-le:

 ls -l /usr/local/lib/libcurl.so.4

bien, le résultat est:

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

Ensuite, je tape cmake -version et le résultat est

cmake version 3.2.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Après avoir corrigé le bogue, je pense qu’il est peut-être causé par plusieurs versions de curl. L’environnement d’origine Ubuntu en possédait un, mais j’en installais un autre.

34
CHENJIAN

Sur mon système Ubuntu 12.04, cette erreur était émise lors de l'exécution de /usr/bin/curl (à partir du paquet curl installable) alors qu'un /usr/local/bin/curl était déjà en place. Faites un which curl et voyez lequel est en train de s'exécuter - si c'est /usr/bin/curl, essayez plutôt d'exécuter /usr/local/bin/curl.

J'ai rencontré cela dans le contexte de crontab, qui tourne avec un chemin différent de celui de mon utilisateur. La solution rapide était de spécifier explicitement ma curls avec /usr/local/bin/curl

2
Allen Luce

Le dernier Ubuntu (18.4), je devais Sudo apt-get remove libcurl.
, puis réinstallez ce dont vous avez besoin, par exemple, curl

0
Kuzeko

Quant à moi, mon système est ubuntu16 ayant un curl par défaut. Mais j'installe un curl par code source.

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

Ensuite, je vois la nouvelle libcurl.so j’installais récemment (20 mai 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*

Et puis je les 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

vérifie ça:

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# 
0
Jayhello

Dans mon ubuntu 16.04, je rencontrais le même problème lorsque j'exportais anaconda bin en PATH et lib en LD_LIBRARY_PATH. Je l'ai résolu en installant cmake à partir de conda-forge: conda install cmake. Si vous utilisez anaconda comme moi, vous pouvez utiliser cette méthode pour le réparer, sinon utilisez les solutions des autres.

0
chaokunyang

ici j'ai une solution simple.

Vous pouvez installer libcurl et rencontrer le problème. Mais vous pouvez le résoudre simplement en reconstruisant votre propre cmake avec la libcurl que vous avez installée (utilisez LD_LIBRARY_PATH pour indiquer votre libcurl).

Travaille pour moi. (Ubuntu 16.04, libcurl 4.5 et cmake 3.11.3)

0
DAG