<div dir="ltr"><div>Hi John,</div><div><br></div><div>It's hard to know what's going on for sure but I suspect GDAL is getting confused about where to pick up it's deps. It happens quite a lot with GDAL. It has a nasty habit of picking up libraries installed in one path, say /usr/lib even when it's instructed to look elsewhere, e.g. /home/jfm/anaconda3/lib/. I suspect /usr/lib/ has a libcurl.so that does use openssl. It certainly happens a lot when building against a robust conda environment. In cases like this one, I think the simplest thing to try is just to create a very basic conda env for the purposes of building fletch/kwiver. It should really only need numpy and scipy, I think. You could try editing the file ... fletch_src/CMake/External_GDAL.cmake on around line 158, where the ExternalProject_Add call inserts the CONFIGURE_COMMAND. If you added --with-crypto=no to that line, it should tell GDAL to avoid openssl, but if it's really getting confused and mixing its libcurl.so, you might still get link errors. It's worth a try though. <br></div><div><br></div><div>The trouble with a build like fletch as it currently stands is, there really isn't a clean way to provide all of these special cases in the configure for each package without causing a mess in the configuration. I had considered allowing a custom CMake file that would let users apply custom config options to packages. We've done that elsewhere but I haven't fully dug in to see what that would look like here.</div><div><br></div><div>Hope that helps! Let me know what you try though and whether is works. I am always looking for useful bits of information so I know what sorts of things are going wrong and what's fixing them.</div><div><br></div><div>-Dave<br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 31, 2019 at 2:34 PM John McKendry <<a href="mailto:john.mckendry@gmail.com">john.mckendry@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">fletch GDAL link problem with curl_openssl<br>
Ubuntu 18.04.2 64-bit, gcc 7.4.0<br>
I have previously built fletch and kwiver uneventfully with<br>
-Dfletch_ENABLE_ALL_PACKAGES.<br>
i tried to rebuild fletch adding -Dfletch_BUILD_WITH_PYTHON and I get<br>
errors trying to build GDAL. The whole log file is 48 pages, so I<br>
won't paste it here. This is the error section:<br>
[ 71%] Built target openjpeg<br>
[ 73%] Performing build step for 'GDAL'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_easy_getinfo@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_perform@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_cleanup@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_info_read@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_easy_perform@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_slist_free_all@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_easy_setopt@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_easy_init@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_fdset@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_slist_append@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_add_handle@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_version@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_remove_handle@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_setopt@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_easy_cleanup@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_init@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_version_info@CURL_OPENSSL_4'<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so: undefined<br>
reference to `curl_multi_wait@CURL_OPENSSL_4'<br>
collect2: error: ld returned 1 exit status<br>
# in build/build/src/GDAL/apps/<br>
GNUmakefile:82: recipe for target 'gdalinfo' failed<br>
make[4]: *** [gdalinfo] Error 1<br>
# in build/build/src/GDAL/<br>
GNUmakefile:105: recipe for target 'apps-target' failed<br>
make[3]: *** [apps-target] Error 2<br>
CMakeFiles/GDAL.dir/build.make:120: recipe for target<br>
'build/src/GDAL-stamp/GDAL-build' failed<br>
make[2]: *** [build/src/GDAL-stamp/GDAL-build] Error 2<br>
CMakeFiles/Makefile2:1627: recipe for target 'CMakeFiles/GDAL.dir/all' failed<br>
make[1]: *** [CMakeFiles/GDAL.dir/all] Error 2<br>
Makefile:129: recipe for target 'all' failed<br>
make: *** [all] Error 2<br>
<br>
nm /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so |grep curl<br>
                 U curl_easy_cleanup@@CURL_OPENSSL_4<br>
                 U curl_easy_getinfo@@CURL_OPENSSL_4<br>
                 U curl_easy_init@@CURL_OPENSSL_4<br>
                 U curl_easy_perform@@CURL_OPENSSL_4<br>
                 U curl_easy_setopt@@CURL_OPENSSL_4<br>
                 U curl_multi_add_handle@@CURL_OPENSSL_4<br>
                 U curl_multi_cleanup@@CURL_OPENSSL_4<br>
                 U curl_multi_fdset@@CURL_OPENSSL_4<br>
                 U curl_multi_info_read@@CURL_OPENSSL_4<br>
                 U curl_multi_init@@CURL_OPENSSL_4<br>
                 U curl_multi_perform@@CURL_OPENSSL_4<br>
                 U curl_multi_remove_handle@@CURL_OPENSSL_4<br>
                 U curl_multi_setopt@@CURL_OPENSSL_4<br>
                 U curl_multi_wait@@CURL_OPENSSL_4<br>
                 U curl_slist_append@@CURL_OPENSSL_4<br>
                 U curl_slist_free_all@@CURL_OPENSSL_4<br>
                 U curl_version@@CURL_OPENSSL_4<br>
                 U curl_version_info@@CURL_OPENSSL_4<br>
<br>
ldd /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so |grep curl<br>
/home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so:<br>
/home/jfm/anaconda3/lib/libcurl.so.4: no version information available<br>
(required by /home/jfm/fletch/build/build/src/GDAL/.libs/libgdal.so)<br>
libcurl.so.4 => /home/jfm/anaconda3/lib/libcurl.so.4 (0x00007f9abd587000)<br>
<br>
 nm -D /home/jfm/anaconda3/lib/libcurl.so.4  |grep multi<br>
0000000000033b00 T curl_multi_add_handle<br>
00000000000364b0 T curl_multi_assign<br>
00000000000340d0 T curl_multi_cleanup<br>
0000000000033270 T curl_multi_fdset<br>
0000000000033420 T curl_multi_info_read<br>
0000000000033230 T curl_multi_init<br>
0000000000035b00 T curl_multi_perform<br>
0000000000036270 T curl_multi_remove_handle<br>
0000000000033570 T curl_multi_setopt<br>
0000000000036090 T curl_multi_socket<br>
00000000000360e0 T curl_multi_socket_action<br>
0000000000036130 T curl_multi_socket_all<br>
00000000000385b0 T curl_multi_strerror<br>
0000000000033860 T curl_multi_timeout<br>
00000000000333e0 T curl_multi_wait<br>
<br>
So as I read it, the libgdal that I built in build/src/GDAL/.libs is<br>
trying to resolve curl references that use openssl, and the libcurl.so<br>
that it's expecting to resolve those references doesn't use openssl.<br>
So can I configure fletch to use GDAL without openssl? Or should I<br>
build a new libcurl.so with openssl, and if so, how do I tell fletch<br>
to use that libcurl?<br>
_______________________________________________<br>
Kwiver-users mailing list<br>
<a href="mailto:Kwiver-users@public.kitware.com" target="_blank">Kwiver-users@public.kitware.com</a><br>
<a href="https://public.kitware.com/mailman/listinfo/kwiver-users" rel="noreferrer" target="_blank">https://public.kitware.com/mailman/listinfo/kwiver-users</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><span><font color="#888888">David Stoup<br>Principal Engi<span style="background-color:rgb(204,204,204)"><span></span></span>neer<br>
<span style="color:rgb(204,204,204)"><span style="background-color:rgb(255,255,255)"><br>
<span style="color:rgb(153,153,153)">Kitw<font size="2">are, Inc.<br></font></span></span></span></font></span><div><p class="MsoNormal"><span style="color:rgb(153,153,153)"><span style="background-color:rgb(255,255,255)"><font size="2" face="tahoma, sans-serif">1712 Route 9, Suite 300</font></span></span></p></div><div><span style="color:rgb(153,153,153)"><span style="background-color:rgb(255,255,255)"><font size="2"><font face="tahoma, sans-serif">Clifton Park, NY 12065-3104</font><span></span><br><span></span></font></span></span></div><font size="2"><span><font color="#888888"><span style="color:rgb(153,153,153)"><span style="background-color:rgb(255,255,255)">
518-881-4949 (W)</span></span><br></font></span></font></div><font size="2"><span><font color="#888888">518-312-3946 (M)<br></font></span></font><div><span><font color="#888888"><font size="2">518-371-4573 (F)</font><br>
</font></span></div></div></div></div></div></div></div></div></div>