DronecodeSDK CMake Compiling Issue on Linux

#1

I am having trouble figuring out this issue. I’ve been trying every search and missing package and cannot solve this. I feel like there is something simple I am overlooking, any help is much appreciated. Note: I get the same error on any linux platform.

Here is the error message:
uaps@uaps:~/DronecodeSDK$ make default
– The C compiler identification is GNU 6.3.0
– The CXX compiler identification is GNU 6.3.0
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
CMake Error at /usr/local/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/local/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
/usr/local/share/cmake-3.9/Modules/FindCURL.cmake:48 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
cmake/curl.cmake:24 (find_package)
CMakeLists.txt:14 (include)

– Configuring incomplete, errors occurred!
See also “/home/uaps/DronecodeSDK/build/default/CMakeFiles/CMakeOutput.log”.
Build dir: build/default
/bin/sh: 1: cd: can’t cd to build/default
Makefile:73: recipe for target ‘default’ failed
make: *** [default] Error 2

Seems the issue is with Curl. This is the curl version I have:
uaps@uaps:~/SDK/DronecodeSDK$ curl -V
curl 7.52.1 (x86_64-pc-linux-gnu) libcurl/7.52.1 OpenSSL/1.0.2g zlib/1.2.11 libidn2/0.16 libpsl/0.17.0 (+libidn2/0.16) 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: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy PSL

1 Like
#2

Ok, I’m assuming you’re on Ubuntu 18.04.

So it says missing CURL_LIBRARY which means we’re not missing the binary curl but the curl library aka libCURL.

If you check the docs, you see that libcurl4-openssl-dev is probably missing.
I’m sorry that these docs are somewhat hidden, the plan is to have .deb packages to install soon instead of you having to compile this.

Another way to find out such dependencies, is to check how the Dockerfile is made which can be used to compile it as well.

#3

I am running Ubuntu 17.04. Maybe that’s the problem?

I’ve also tried it on centOS version ? and raspbian version ? and got the same error on all.

This is the version of libcurl and openssl I have currently:

Also, I had tried “sudo apt-get install libcurl4-openssl-dev” and i get a 404 error.

I’ll try to update Ubuntu and see if that is the issue

#4

If you can’t install this package, then it won’t work. And switching wildly Ubuntu versions or Linux distributions doesn’t make it any easier. Let’s try to fix the 404 and then continue from there.

If you haven’t updated the package index in a while, you might get 404 because apt-get is looking for an older version.

Therefore do sudo apt-get update and then try again.

#5

Looks like it was an issue with Ubuntu 17.04

https://ubuntuforums.org/showthread.php?t=2382832

It has been compiled and running. Thanks for your time and attention. Looks like I’ve now moved on to other issues for another thread haha!

1 Like