Re: [Ros-kinect] libflann question

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Ros-kinect] libflann question

Kevin Walchko
Hi,

No problem … install_name_tool is a pain in my side.

I am using Diamondback not CTurtle. I looked in my perception_pcl/flann directory and I don't have a lib64 folder. However, that sounds familiar, but I don't know what happened to it. 

I am confused too. From your output, it looks fine. 

I am unable to compile pcl_visualization due to issues with wxWidgets. I sort of give up on the GUI stuff with OSX right now. I am waiting for the move to Qt before worrying about it. A quick run of "rosmake pcl_visualization" fails on wxprogrid for me. I would be interested in how you got this stuff to compile.

In your manifest.xml file in the flann folder, is your exports setup correctly?


  <export>
     <cpp cflags="-I${prefix}/include" lflags="-Wl,-rpath,${prefix}/lib64 -Wl,-rpath,${prefix}/lib -L${prefix}/lib64 -L${prefix}/lib -lflann_cpp -lhdf5_cpp -lhdf5" />
     <!--python path="${prefix}/flann-1.2-src/build/python" /-->
  </export> 

Notice I list the lib64 you mentioned, but I still don't see it in my flann folder? Sorry I am not much help, but I would take a closer look at manifest.xml since it should be setting up your linking environment (lflags), hence the ld warning. Let me know if you still have issues and maybe I can try to help some more.

Kevin 


On Feb 22, 2011, at 12:09 AM, John Muccigrosso wrote:

Kevin,

Excuse the off-list query. I'm a total amateur at this, but very interested in new uses for the Kinect.

I found your recent change to the libflann makefile and it allowed me to make the package. However I still have trouble running pcd_viewer. Here's the command and output (I'm trying to load a pcd file for viewing):

16:12 ~/ros/perception_pcl/flann/ > rosrun pcl_visualization pcd_viewer -ax 0.1 /Users/john_muccigrosso/Downloads/kinect-box-and-mug.pcd
dyld: Library not loaded: /lib/libflann_cpp.1.6.dylib
 Referenced from: /Users/john_muccigrosso/ros/pcl_visualization/bin/pcd_viewer
 Reason: image not found
Trace/BPT trap


Looks like an install_name_tool problem, so I checked:

16:12 ~/ros/perception_pcl/flann/ > otool -L `rospack find flann`/lib/libflann_cpp.1.6.dylib
/Users/john_muccigrosso/ros/perception_pcl/flann/lib/libflann_cpp.1.6.dylib:
/Users/john_muccigrosso/ros/perception_pcl/flann/lib/libflann_cpp.1.6.dylib (compatibility version 1.6.0, current version 1.6.7)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

This seems ok to me.

I've tried remaking pcl_visualization with pre-clean, but still no luck. About the only thing I can think of is a bunch of warnings like this when making the package

ld: warning: directory '/Users/john_muccigrosso/ros/perception_pcl/flann/lib64' following -L not found

lib64 shows up in the CMakeCache.txt, but I'm not sure where it gets it from.

Anyway, I appreciate any help or a pointer in the right direction (or being told to sign up and post it on the appropriate list!).

John Muccigrosso



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|

Re: [Ros-kinect] libflann question

rusu
Administrator
Adding Marius, as he might be able to help.

Cheers,
Radu.
--
http://pointclouds.org

On 02/22/2011 06:05 PM, Kevin Walchko wrote:

> Hi,
>
> No problem … install_name_tool is a pain in my side.
>
> I am using Diamondback not CTurtle. I looked in my perception_pcl/flann directory and I don't have a lib64 folder.
> However, that sounds familiar, but I don't know what happened to it.
>
> I am confused too. From your output, it looks fine.
>
> I am unable to compile pcl_visualization due to issues with wxWidgets. I sort of give up on the GUI stuff with OSX right
> now. I am waiting for the move to Qt before worrying about it. A quick run of "rosmake pcl_visualization" fails on
> wxprogrid for me. I would be interested in how you got this stuff to compile.
>
> In your manifest.xml file in the flann folder, is your exports setup correctly?
>
>
> <export>
> <cpp cflags="-I${prefix}/include"lflags="-Wl,-rpath,${prefix}/lib64 -Wl,-rpath,${prefix}/lib -L${prefix}/lib64
> -L${prefix}/lib -lflann_cpp -lhdf5_cpp -lhdf5"/>
> <!--python path="${prefix}/flann-1.2-src/build/python" /-->
> <doxymaker external="http://www.cs.ubc.ca/~mariusm/uploads/FLANN/manual.pdf"/>
> </export>
>
> Notice I list the lib64 you mentioned, but I still don't see it in my flann folder? Sorry I am not much help, but I
> would take a closer look at manifest.xml since it should be setting up your linking environment (lflags), hence the ld
> warning. Let me know if you still have issues and maybe I can try to help some more.
>
> Kevin
>
>
> On Feb 22, 2011, at 12:09 AM, John Muccigrosso wrote:
>
>> Kevin,
>>
>> Excuse the off-list query. I'm a total amateur at this, but very interested in new uses for the Kinect.
>>
>> I found your recent change to the libflann makefile and it allowed me to make the package. However I still have
>> trouble running pcd_viewer. Here's the command and output (I'm trying to load a pcd file for viewing):
>>
>> 16:12 ~/ros/perception_pcl/flann/ > rosrun pcl_visualization pcd_viewer -ax 0.1
>> /Users/john_muccigrosso/Downloads/kinect-box-and-mug.pcd
>> dyld: Library not loaded: /lib/libflann_cpp.1.6.dylib
>> Referenced from: /Users/john_muccigrosso/ros/pcl_visualization/bin/pcd_viewer
>> Reason: image not found
>> Trace/BPT trap
>>
>>
>> Looks like an install_name_tool problem, so I checked:
>>
>> 16:12 ~/ros/perception_pcl/flann/ > otool -L `rospack find flann`/lib/libflann_cpp.1.6.dylib
>> /Users/john_muccigrosso/ros/perception_pcl/flann/lib/libflann_cpp.1.6.dylib:
>> /Users/john_muccigrosso/ros/perception_pcl/flann/lib/libflann_cpp.1.6.dylib (compatibility version 1.6.0, current
>> version 1.6.7)
>> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)
>>
>> This seems ok to me.
>>
>> I've tried remaking pcl_visualization with pre-clean, but still no luck. About the only thing I can think of is a
>> bunch of warnings like this when making the package
>>
>> ld: warning: directory '/Users/john_muccigrosso/ros/perception_pcl/flann/lib64' following -L not found
>>
>> lib64 shows up in the CMakeCache.txt, but I'm not sure where it gets it from.
>>
>> Anyway, I appreciate any help or a pointer in the right direction (or being told to sign up and post it on the
>> appropriate list!).
>>
>> John Muccigrosso
>>
>
>
>
> _______________________________________________
> Ros-kinect mailing list
> [hidden email]
> https://code.ros.org/mailman/listinfo/ros-kinect
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|

Re: [Ros-kinect] libflann question

John Muccigrosso-2
In reply to this post by Kevin Walchko
On 22 Feb 2011, at 21:05 , Kevin Walchko wrote:

> I am unable to compile pcl_visualization due to issues with wxWidgets. I sort of give up on the GUI stuff with OSX right now. I am waiting for the move to Qt before worrying about it. A quick run of "rosmake pcl_visualization" fails on wxprogrid for me. I would be interested in how you got this stuff to compile.


[Sent this to Kevin already, but figured I'd add it in here.]

Kevin,

The trick I used with wxwidgets is to change the dependence in py26-wxpython so that it uses wxwidgets-devel instead of wxwidgets. I found the fix by vince@ here:

https://trac.macports.org/ticket/20952

See attachment portfile.2.

Not sure that'll do for what you're attempting, but maybe worth a try.

John Muccigrosso

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|

Re: [Ros-kinect] libflann question

John Muccigrosso-2
In reply to this post by Kevin Walchko
On 22 Feb 2011, at 21:05 , Kevin Walchko wrote:

> I am using Diamondback not CTurtle. I looked in my perception_pcl/flann directory and I don't have a lib64 folder. However, that sounds familiar, but I don't know what happened to it.

OK, I've now migrated to Diamondback, and I still have the same issue.

> I am confused too. From your output, it looks fine.
>
> I am unable to compile pcl_visualization due to issues with wxWidgets. I sort of give up on the GUI stuff with OSX right now. I am waiting for the move to Qt before worrying about it. A quick run of "rosmake pcl_visualization" fails on wxprogrid for me. I would be interested in how you got this stuff to compile.
>
> In your manifest.xml file in the flann folder, is your exports setup correctly?
>
>
>   <export>
>      <cpp cflags="-I${prefix}/include" lflags="-Wl,-rpath,${prefix}/lib64 -Wl,-rpath,${prefix}/lib -L${prefix}/lib64 -L${prefix}/lib -lflann_cpp -lhdf5_cpp -lhdf5" />
>      <!--python path="${prefix}/flann-1.2-src/build/python" /-->
>     <doxymaker external="http://www.cs.ubc.ca/~mariusm/uploads/FLANN/manual.pdf" />
>   </export>
>
> Notice I list the lib64 you mentioned, but I still don't see it in my flann folder? Sorry I am not much help, but I would take a closer look at manifest.xml since it should be setting up your linking environment (lflags), hence the ld warning. Let me know if you still have issues and maybe I can try to help some more.

I don't have a lib64 path in my flann folder either. In fact I don't find any lib64 folder at all in ros! My export section for flann looks like yours.

For the record my pcl_visualization manifest export section is:

    <cpp cflags="-I`cmake -P ${prefix}/vtk_include.cmake` -I${prefix}/include -I${prefix}/src" lflags="-L`cmake -P ${prefix}/vtk_library.cmake` -Wl,-rpath,${prefix}/lib -L${prefix}/lib -lpcl_visualization -lvtkCommon -lvtkWidgets -lvtkHybrid -lvtkFiltering -lvtkGraphics -lvtkR$
    <!--nodelet plugin="${prefix}/pcl_visualization_nodelets.xml" /-->

It references lib and not lib64.

It's clearly the case that pcd_viewer is not getting the full path because I can see the simple filename embedded in the binary. So I tried editing my pcd_viewer binary with emacs to have the whole path, but then I got a mach error when I tried to run it.

Today I edited the flann manifest.xml to replace "lib64" with plain old "lib" and that worked! The pcd_viewer binary now includes the whole correct path. I had already had the correct path for libflann reported by otool. (The file I'm viewing isn't the prettiest, so I looked at one in the pcl_visualization/data folder - which had an error! - to make sure that it was displaying ok.) For the record the libflann manifest.xml has this line now:

<cpp cflags="-I${prefix}/include" lflags="-Wl,-rpath,${prefix}/lib -Wl,-rpath,${prefix}/lib -L${prefix}/lib -L${prefix}/lib -lflann_cpp -lhdf5_cpp -lhdf5" />

It would be great if someone could duplicate this. And then how to proceed to get the fix in?

John Muccigrosso

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect