<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
hi Ken,<br><br>As with Blaise email, I comment on your comments.<br>> From: kwc@willowgarage.com<br>> Date: Tue, 2 Nov 2010 09:31:02 -0700<br>> To: ros-users@code.ros.org<br>> Subject: Re: [ros-users] Python node design.<br>> <br>> Hi Renato,<br>> <br>> I'm not sure I understand the problem, but have you tried:<br>> <br>> a) Sticking the .so files in the 'lib' directory of your package<br>
When I try to put all .so files in LIB file, it still was not working 
even including libraries flags in manifest.xml or a pyopencv.pc file 
located in /lib/pkgconfig.<br><br>> b) If (a) is not possible, setting the <export> for Python in your<br>> manifest to point to the relevant location:<br>> <br>> http://www.ros.org/wiki/Manifest/XML#export:_.3Cpython.3E_tag<br>Unfortunately it has the same behaviour as when .py and .so files are located in src/.<br>> <br>> You could also look at the opencv2 package and see how it exports the<br>> Python bindings correctly (note: it had a bug, so you should check the<br>> most recent release).<br>> <br><br>I will try a better look on opencv2,  I was also thinking to install these libraries in dist-packages/ site-packages/ from the python in ROS.<br><br>Regards,<br><br>Renato.<br>>  - Ken<br>> <br>> 2010/11/2 Renato Samperio <mintaka_alnitak@hotmail.com>:<br>> > Dar ROS users,<br>> ><br>> > I would like to know if somebody could have a hint for our problem. This<br>> > question is for system design in python.<br>> ><br>> > We require of a ROS package holding a library for our system that has<br>> > relevant python wrappers (pyopencv) used in our system.<br>> ><br>> > So far, we have encapsulated all required libraries (*.so) and python files<br>> > (*.py) into a node structure which can be used by pointing it to the<br>> > LD_LIBRARY_PATH. However, if we want to run our system as a ROS node, we<br>> > also require to update this system variable.<br>> ><br>> > The 'manifest.xml' file for our ROS library (pyopencv) is:<br>> ><br>> > <package><br>> ><br>> > <description brief="pyopencv"> pyopencv </description><br>> ><br>> > <author>Renato Samperio</author><br>> ><br>> > <license>BSD</license><br>> ><br>> > <review status="unreviewed" notes=""/><br>> ><br>> > <url>http://ros.org/wiki/pyopencv</url><br>> ><br>> > <depend package="rospy"/><br>> ><br>> > <depend package="sensor_msgs"/><br>> ><br>> > <export><br>> ><br>> > <cpp lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lpyopencv_extras<br>> > -lboost_python -lcvaux -lcv_h_ext -lcv_hpp_ext -lcxcore_h_ext<br>> > -lcxcore_hpp_ext -lcxcore_hpp_point_ext -lcxcore_hpp_vec_ext -lcxtypes_h_ext<br>> > -lhighgui_ext -lcvaux -lcv -lcxcore -lhighgui -lml -lml_ext -lsdopencv_ext"<br>> > /><br>> ><br>> > </export><br>> ><br>> > </package><br>> ><br>> > We made our node following rules from PyStyleGuide. Our file system<br>> > structure is:<br>> ><br>> > pyopencv<br>> ><br>> > |- CMakeLists.txt<br>> ><br>> > |- manifest.xml<br>> ><br>> > |- mainpage.dox<br>> ><br>> > |- src/<br>> ><br>> > |- pyopencv/ $B"+(B Pointed to LD_LIBRARY_PATH<br>> ><br>> > |- __init__.py<br>> ><br>> > |- *.so, *.py, *.pyc<br>> ><br>> > I would really appreciate if somebody has an idea of how we could avoid the<br>> > LD_LIBRARY_PATH system variable.<br>> ><br>> > With best wishes,<br>> ><br>> > Renato Samperio<br>> ><br>> > _______________________________________________<br>> > ros-users mailing list<br>> > ros-users@code.ros.org<br>> > https://code.ros.org/mailman/listinfo/ros-users<br>> ><br>> ><br>> _______________________________________________<br>> ros-users mailing list<br>> ros-users@code.ros.org<br>> https://code.ros.org/mailman/listinfo/ros-users<br>                                     </body>
</html>