为什么它仍然抱怨libcurl.so.4?

时间:2016-06-17 21:32:42

标签: c++ ubuntu gcc cmake

我将curl从/ usr / bin / curl发送到/ usr / local / bin / curl。   当我从命令行运行时,“没有可用的版本信息”消失了,但是当我在家庭环境中编译它时,它仍然抱怨它:    cmake:〜/ local / lib / libcurl.so.4:没有可用的版本信息(cmake需要)/ bin / bash:第14行:63003分段错误。

当我查看本地版本时: ./curl --version curl 7.27.0-DEV(x86_64-unknown-linux-gnu)libcurl / 7.27.0-DEV OpenSSL / 1.0.1f zlib / 1.2.8 libssh2 / 1.4.0_DEV 协议:dict文件ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 功能:IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

它是通过apt-get libcurl4-openssl-dev安装的,无法将其删除。

如何在local / bin和local / lib中安装它?

由于

2 个答案:

答案 0 :(得分:0)

你有一个没有版本符号的库。

库具有非常重要的版本符号:断言库是现代的,足以满足程序的要求。如果cmake抱怨库,则意味着:

  1. 您编译时没有版本符号(可能)
  2. 您编译的版本太旧了

答案 1 :(得分:0)

我认为问题在于名称“libcurl.so.4”。我在Linux Mint 18(base - Ubuntu 16.04),64位上遇到了类似的问题,为之前仅适用于Windoze的软件安装了一个新的.deb文件。安装是完美无缺的但是当我尝试运行程序时,它失败并显示消息“加载共享库时出错:libcurl.so.4:无法打开共享对象文件:没有这样的文件或目录”。

供应商建议我安装“curl”,但它已经存在。我完全卸载它然后重新安装没有任何改变。然后我在我的硬盘上扫描了“libcurl.so.4”而没有结果。我能找到的最近的是“/ usr / lib / x86_64-linux-gnu /”。文件是“libcurl-gnutls.so.3”,“libcurl-gnutls.so.4”和“libcurl-gnutls.so.4.4.0”。前两个是第三个的符号链接。然后我在“libcurl-gnutls.so.4.4.0”中添加了一个名为“libcurl.so.4”的符号链接,这使我可以毫无问题地运行新版本。