bebop_autonomy: roslaunch bebop_nodelet.launch fails on 18.04/Melodic/src
I get the following error when roslaunching both the node and the nodelet:
[ERROR] [1531415229.229082225]: Failed to load nodelet [/bebop/bebop_nodelet] of type [bebop_driver/BebopDriverNodelet] even after refreshing the cache: Failed to load library /home/mimic/catkin_ws/devel/lib//libbebop_driver_nodelet.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libarcommands.so: cannot open shared object file: No such file or directory)
The culprit is libcommands.so was not found in $LD_LIBRARY_PATH, which only contains <CATKIN_WS>/devel/lib and not <CATKIN_WS>/devel/lib/parrot_arsdk.
I’m rusty with my catkin skills, and trying to change the install dir didn’t work (after a catkin clean and catkin build).
I can bypass this issue in two ways:
- add
<CATKIN_WS>/devel/lib/parrot_arsdkto$LD_LIBRARY_PATH(e.g. in~/.bashrc), - or duplicating the symbolic links via
cd <CATKIN_WS>/devel/lib/parrot_arsdk && cp -av lib* ..
If you guys can fix this issue properly without using the bypass hacks above, then great! Otherwise, I hope that others might find these hacks helpful.
About this issue
- Original URL
- State: open
- Created 6 years ago
- Reactions: 6
- Comments: 16 (1 by maintainers)
After reinstalling ubuntu 18 I was facing this problem again, I used the one above and it still did not work, I realized I was using “catkin build” so I tried “Catkin make” and this solved the problem for me
~/catkin_ws$ export CATKIN_WS="~/catkin_ws"~/.bashrcfile in a text editor, and add a line somewhere (e.g. at the end) with the following content:LD_LIBRARY_PATH=~/catkin_ws/devel/lib/parrot_arsdk:$LD_LIBRARY_PATH$ echo LD_LIBRARY_PATH=$CATKIN_WS/devel/lib/parrot_arsdk:$LD_LIBRARY_PATH >> ~/.bashrc@Ceepert , I also could not find the parrot_arsdk in the folder. I manage to fix this way:
Install the parrot_arsdk:
sudo apt install ros-melodic-parrot-arsdkCopy the folder from /opt/ros/melodic/lib/parrot_arsdk to <CATKIN_WS>/devel/lib/
Update .bashrc (as @anqixu comment, remember to change to you workspace name) LD_LIBRARY_PATH=~/catkin_ws/devel/lib/parrot_arsdk:$LD_LIBRARY_PATH
could you go i little bit into more detail? What is the exact command (Im new to using ubuntu) I dont have a parrot_arsdk folder in catkin_workspace/devel/lib/ I have the ParrotSDK folder on my desktop? How do I get it into that folder?
I only use the “bypass hacks” mentioned by @anqixu
Thanks a lot. It worked.