Hi all,
I'm using the flann library in PCL. I recently came across a rather
annoying phenomenon: opencv also includes a version of flann that is
similar enough to not generate compile errors, but causes segfaults when
I run code compiled with it. When tracking down how I started using the
wrong flann, I realized that the cmake voodoo that is rosmake seems to
include a library by it's _last_ mention, rather than the first:
in my manifest file:
<depend package="pcl"/>
<depend package="depends_on_opencv"/>
<depend package="pcl"/>
fails, whereas:
<depend package="pcl"/>
<depend package="pcl"/>
<depend package="depends_on_opencv"/>
does not.
I could solve this problem in my case, because I owned all the manifest
files. However, I can image a scenario where I need to include a
package that, through the dependency ordering causes my package to
include the wrong library.
Is my perception of the rosmake dependency inclusion process correct? If
so, maybe changing to a 'first inclusion' paradigm might be appropriate.
thanks,
Garratt