From john.mckendry at gmail.com Wed Jul 31 14:33:58 2019 From: john.mckendry at gmail.com (John McKendry) Date: Wed, 31 Jul 2019 14:33:58 -0400 Subject: [Kwiver-users] Can't build fletch with python support - GDAL link error Message-ID: fletch GDAL link problem with curl_openssl Ubuntu 18.04.2 64-bit, gcc 7.4.0 I have previously built fletch and kwiver uneventfully with -Dfletch_ENABLE_ALL_PACKAGES. i tried to rebuild fletch adding -Dfletch_BUILD_WITH_PYTHON and I get errors trying to build GDAL. The whole log file is 48 pages, so I won't paste it here. This is the error section: [ 71%] Built target openjpeg [ 73%] Performing build step for 'GDAL' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_easy_getinfo at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_perform at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_cleanup at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_info_read at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_easy_perform at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_slist_free_all at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_easy_setopt at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_easy_init at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_fdset at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_slist_append at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_add_handle at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_version at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_remove_handle at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_setopt at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_easy_cleanup at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_init at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_version_info at CURL_OPENSSL_4' /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined reference to `curl_multi_wait at CURL_OPENSSL_4' collect2: error: ld returned 1 exit status # in build/build/src/GDAL/apps/ GNUmakefile:82: recipe for target 'gdalinfo' failed make[4]: *** [gdalinfo] Error 1 # in build/build/src/GDAL/ GNUmakefile:105: recipe for target 'apps-target' failed make[3]: *** [apps-target] Error 2 CMakeFiles/GDAL.dir/build.make:120: recipe for target 'build/src/GDAL-stamp/GDAL-build' failed make[2]: *** [build/src/GDAL-stamp/GDAL-build] Error 2 CMakeFiles/Makefile2:1627: recipe for target 'CMakeFiles/GDAL.dir/all' failed make[1]: *** [CMakeFiles/GDAL.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2 nm /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so |grep curl U curl_easy_cleanup@@CURL_OPENSSL_4 U curl_easy_getinfo@@CURL_OPENSSL_4 U curl_easy_init@@CURL_OPENSSL_4 U curl_easy_perform@@CURL_OPENSSL_4 U curl_easy_setopt@@CURL_OPENSSL_4 U curl_multi_add_handle@@CURL_OPENSSL_4 U curl_multi_cleanup@@CURL_OPENSSL_4 U curl_multi_fdset@@CURL_OPENSSL_4 U curl_multi_info_read@@CURL_OPENSSL_4 U curl_multi_init@@CURL_OPENSSL_4 U curl_multi_perform@@CURL_OPENSSL_4 U curl_multi_remove_handle@@CURL_OPENSSL_4 U curl_multi_setopt@@CURL_OPENSSL_4 U curl_multi_wait@@CURL_OPENSSL_4 U curl_slist_append@@CURL_OPENSSL_4 U curl_slist_free_all@@CURL_OPENSSL_4 U curl_version@@CURL_OPENSSL_4 U curl_version_info@@CURL_OPENSSL_4 ldd /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so |grep curl /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: /home/jfm/anaconda3/lib/libcurl.so.4: no version information available (required by /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so) libcurl.so.4 => /home/jfm/anaconda3/lib/libcurl.so.4 (0x00007f9abd587000) nm -D /home/jfm/anaconda3/lib/libcurl.so.4 |grep multi 0000000000033b00 T curl_multi_add_handle 00000000000364b0 T curl_multi_assign 00000000000340d0 T curl_multi_cleanup 0000000000033270 T curl_multi_fdset 0000000000033420 T curl_multi_info_read 0000000000033230 T curl_multi_init 0000000000035b00 T curl_multi_perform 0000000000036270 T curl_multi_remove_handle 0000000000033570 T curl_multi_setopt 0000000000036090 T curl_multi_socket 00000000000360e0 T curl_multi_socket_action 0000000000036130 T curl_multi_socket_all 00000000000385b0 T curl_multi_strerror 0000000000033860 T curl_multi_timeout 00000000000333e0 T curl_multi_wait So as I read it, the libgdal that I built in build/src/GDAL/.libs is trying to resolve curl references that use openssl, and the libcurl.so that it's expecting to resolve those references doesn't use openssl. So can I configure fletch to use GDAL without openssl? Or should I build a new libcurl.so with openssl, and if so, how do I tell fletch to use that libcurl?