|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001397||Orfeo Toolbox (OTB)||General||public||2017-05-04 12:06||2017-08-24 12:44|
|Summary||0001397: OTBIOkml links only with base, dom, and engine but cmake includes all kml libs|
|Description||This has been a issue in packaging where only required dependencies are copied.|
OTBIOKML links with kmlbase, kmldom, kmlengine. (source: objdump -p output) and GDAL etc.. GDAL linking seems strange here. but that's another bug report
now when cmake writes lib/cmake/OTB-5.10/Modules/OTBlibkml.cmake (install phase)
it writes below code:
this is wrong. because objdump -p lib/libOTBIOKML-5.10.so.1 | grep NEEDED does not list all of those. ofcourse, it is "safe" to link with them all. But I don't think safe is the correct word to use anyway.
Here is the output of objdump -p
Now what happens, is packaging scripts must be twisted to add libkml*.so/.dll due to this bug. Because when we collect all required dlls for libOTBIOKML.so libkmlregionator and libkmlxsd does not comeup in the list. ofcourse, they are not a dependency of our libOTBIOKML and a valid XDK gets generated.
It is valid in all sense. but when you run cmake on external projects, it configures fine but fails during build
make: *** No rule to make target `/tmp/test_xdk/OTB-5.10.1-xdk-Linux64/lib/libkmlconvenience.so', needed by `HelloWorld'. Stop.
make: *** [CMakeFiles/HelloWorld.dir/all] Error 2
make: *** [all] Error 2
The above is just the case for libkml, there is Qt libs which has same issue. We include QtXml, glut but this is not required. Building of external module such as helloworld will fails with the similar error message.
Right fix is to correct cmake code in OTBlibkml and OTBQt4 modules.
Now I had explicitly added all those libkml* and libQtXml, libglut* in Packaging scripts to make XDK work.
Nonetheless, this bug must be fixed to avoid hacks that hide bugs.
|Tags||No tags attached.|
|2017-05-04 12:06||rashadkm||New Issue|
|2017-05-04 12:09||rashadkm||Description Updated||View Revisions|
|2017-08-24 12:44||rashadkm||Status||new => closed|
|2017-08-24 12:44||rashadkm||Assigned To||=> rashadkm|
|2017-08-24 12:44||rashadkm||Resolution||open => fixed|