0
votes

I ln ing the curl from /usr/bin/curl to /usr/local/bin/curl. When I run from command line, the "no version information available" is gone, but when I compile it in home environment, it still complains about it: cmake: ~/local/lib/libcurl.so.4: no version information available (required by cmake) /bin/bash: line 14: 63003 Segmentation fault.

When I look at the local version: ./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 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

It was installed via apt-get libcurl4-openssl-dev, couldn't remove it.

How do I install it in local/bin and local/lib?

Thanks

2
what are you asking? could you post some of your cmake linking lib curl? ~/local/... leads me to believe it's not looking in the right place for libcurlkirinthos
I've a curl in /usr/bin/curl, I linked it to my local curl, it's fine on command line, but not compile libraries, how curl find libcurl.so? I saw it on local/lib, the version is 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 @kirinthosAnn W.
the binary most likely statically linked it's library, are you using Linux? perhaps Ubuntu? try installing the curl dev packages for your distro. if you are compiling curl yourself refer to the answer belowkirinthos
I am using ubuntu 14, the local curl comes with the project, should I reinstall it from source or on the system level? Was there a problem with the local version and the linked libcurl.so.4? How to check on the version thing with linked/dependent library? THANKS! @kirinthosAnn W.
try this on the library see if it has any output, I'm unsure exactly how to check version embedded in curl readelf -d /path/to/libcurl.so.4 | grep -i curlkirinthos

2 Answers

0
votes

You have a library compiled without version symbols.

The library has version symbols for very important purpose: asserting the library is modern enough to fit the requirements of the program. If cmake complains about the library, it means that:

  1. You've compiled it without version symbols (probable)
  2. You compiled too old version
0
votes

I think the problem is with the name "libcurl.so.4". I had a similar problem on Linux Mint 18 (base - Ubuntu 16.04), 64 bit, installing a new .deb file for software previously only available for Windoze. The install was faultless but when I tried to run the programme, it failed with the message "error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory".

The supplier advised me to install "curl" but it was already there. I fully uninstalled it then reinstalled without any change. I then did a scan for "libcurl.so.4" on my hard disk without result. The nearest I could find for it were in "/usr/lib/x86_64-linux-gnu/". The files were "libcurl-gnutls.so.3", "libcurl-gnutls.so.4" and "libcurl-gnutls.so.4.4.0". The first two being symlinks to the third. I then added a further symlink to "libcurl-gnutls.so.4.4.0" called "libcurl.so.4" and this allowed me to run the new version without problems.