0
$\begingroup$

Rosanswers logo

I've just migrated from Electric to Fuerte. But after running a node via rosrun command, I received an error message as below:

error while loading shared libraries: libpcl_ros_tf.so: cannot open shared object file: No such file or directory

How do I fix this? Thanks in advance.

EDIT: Running the command "env | fgrep ROS" as suggested by @joq I receive:

ROS_ROOT=/opt/ros/fuerte/share/ros
ROSLISP_PACKAGE_DIRECTORY=/opt/ros/fuerte/share/common-lisp/ros
ROS_PACKAGE_PATH=/home/abc/code/ros_workspace:/opt/ros/fuerte/share:/opt/ros/fuerte/stacks
ROS_MASTER_URI=http://localhost:11311
ROS_DISTRO=fuerte
ROS_ETC_DIR=/opt/ros/fuerte/etc/ros

Originally posted by alfa_80 on ROS Answers with karma: 1053 on 2012-11-10

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

$ dpkg -S libpcl_ros_tf.so
ros-fuerte-perception-pcl: /opt/ros/fuerte/stacks/perception_pcl/pcl_ros/lib/libpcl_ros_tf.so

Do you have ros-fuerte-perception-pcl installed?

EDIT: I would try to get the basic Fuerte Ubuntu Debian package install working first, before tackling any source overlays. What does this print?

env | fgrep ROS

EDIT2: That mostly looks right. My system defines a few other things that could be significant:

ROS_WORKSPACE=/home/joq/ros/fuerte_dev
ROS_DISTRO=fuerte

Also, my ROS_PACKAGE_PATH ends with this:

/opt/ros/fuerte/stacks:/opt/ros/fuerte/share:/opt/ros/fuerte/share/ros

I don't know if any of that matters, but it's worth a try.

EDIT3: What if you reduce the package path to the minimum?

export ROS_PACKAGE_PATH=/opt/ros/fuerte/stacks:/opt/ros/fuerte/share:/opt/ros/fuerte/share/ros

EDIT4: Do you have this defined?

$ echo $LD_LIBRARY_PATH 
/opt/ros/fuerte/lib:

EDIT5: Frustrating, and I'll be away for the next few hours.

Does your node have <depend package="pcl_ros"> in its manifest.xml?

EDIT6: For future readers: when upgrading to a new ROS distribution, always rebuild your source trees from scratch. Either use make clean or check out a new working copy. The results of not doing that can be quite strange.


Originally posted by joq with karma: 25443 on 2012-11-11

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by alfa_80 on 2012-11-11:
I have the library and in the path like above and when I install that package, it said it's already installed. Is this a bug in the Fuerte path management because it couldn't be able to search it automatically?

Comment by joq on 2012-11-11:
More likely there is something wrong with your $ROS_PACKAGE_PATH. There are some differences in the way the Fuerte environment variables are set up. Try sourcing /opt/ros/fuerte/setup.bash directly.

Comment by alfa_80 on 2012-11-11:
It's already set as source /opt/ros/fuerte/setup.bash in my bashrc BTW and only that which is "source"d. Any other alternatives to resolve this?

Comment by alfa_80 on 2012-11-11:
Or do I need to apply the overlay(http://www.ros.org/wiki/fuerte/Installation/Overlays)? No need right because I just follow step-by-step instruction from this(http://www.ros.org/wiki/fuerte/Installation/Ubuntu).

Comment by alfa_80 on 2012-11-11:
@joq: I'm not on Debian anyway, I'm on ubuntu, perhaps I didn't get you.

Comment by alfa_80 on 2012-11-11:
I've tried to append and add some more configuration as you suggested, but still not resolved.

Comment by alfa_80 on 2012-11-11:
@joq: Reducing the package path also doesn't improve.

Comment by alfa_80 on 2012-11-11:
@joq: Yes, I do have. The same I receive as "/opt/ros/fuerte/lib:".

Comment by alfa_80 on 2012-11-11:
@joq: Yes, it has the dependency.

Comment by joq on 2012-11-12:
I can't think what else to try right now. Maybe someone else has some better suggestions. How did you set up your workspace?

Comment by alfa_80 on 2012-11-12:
I just use workspace from my previous Electric and define it as "export ROS_WORKSPACE=/home/abc/code/ros_workspace" in .bashrc. Is it not the correct way of doing it?

Comment by joq on 2012-11-12:
Did you make clean and rebuild everything with Fuerte?

Comment by alfa_80 on 2012-11-12:
@joq: My bad..I really forgot it to clean it up. It's now working out of the box! Thanks a lot..

Comment by joq on 2012-11-13:
Ahh. Sorry I did not think of that earlier. Glad it's working now.

Comment by alfa_80 on 2012-11-13:
So do I, but your debugging/tweaking is superb! Thanks again..

Comment by alfa_80 on 2012-11-13:
IMHO, pertaining to your "EDIT6", it is worthwhile to include it somewhere in any tutorial targeting at beginners like me..because not everybody(beginners) will possibly read this thread.

Comment by joq on 2012-11-13:
I agree that it could be clearer, but am not sure where to say it. Any suggestions?

Comment by alfa_80 on 2012-11-13:
Just leave it here is also ok. Still beneficial..

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.