bebop_autonomy icon indicating copy to clipboard operation
bebop_autonomy copied to clipboard

roslaunch bebop_nodelet.launch fails on 18.04/Melodic/src

Open anqixu opened this issue 7 years ago • 16 comments

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_arsdk to $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.

anqixu avatar Jul 12 '18 17:07 anqixu

Same issue here

captjulian avatar Jul 24 '18 13:07 captjulian

Same problem. Any progress?

Andrew-rw avatar Sep 22 '18 11:09 Andrew-rw

Had to copy the entire library into the devel/lib/ of the driver to make it work, if anyone is working with other type of Parrot Drones or products (rossumo, for example), this is also a dirty workaround that can work.

TOTON95 avatar Oct 09 '18 19:10 TOTON95

Any one crack this yet? Having the same issue. @TOTON95 What do you mean by your response if you don't mind elaborating? I'm very new to ROS.

WiPhi7600 avatar Mar 16 '19 18:03 WiPhi7600

I have the same problem. Can anyone please guide me with copying library into devel/lib. I do not have parrot_arsdk folder in my devel directory for solution given by @anqixu .

taizoonaliasgar avatar Aug 26 '19 23:08 taizoonaliasgar

@WiPhi7600 @anqixu, the developers made an installable ROS-ready package to get away a lot of problems, installing it into the ROS environment, but somehow the script that had to place all those files into devel/lib (or at least visible for the workspace) does not work, I haven't updated it since then, so you have two options. You can make the link between them (devel/lib and the directory with the built libraries) or move them there instead. To get the package you can also just follow the original instructions or compile it by yourself, some other projects as ROSSUMO and parrot itself have the source code to do so. Good luck!

TOTON95 avatar Aug 26 '19 23:08 TOTON95

Thank you for your quick response @TOTON95. I followed the instructions on https://bebop-autonomy.readthedocs.io/en/latest/installation.html to build bebop_autonomy and made a link inside bebop_ws/devel/lib(lk) that points to bebop_ws/build as suggested.

Screenshot from 2019-08-26 17-24-54

But the error persists. Can you please take a look at the screenshot for anything obvious that I have missed. Thank you.

taizoonaliasgar avatar Aug 27 '19 00:08 taizoonaliasgar

@harrafa, it has to point to the parrot_arsdk in ROS General library, I don't have my computer at hand. But I ended up copy and pasted the libraries into bebop/devel/lib.

TOTON95 avatar Aug 27 '19 01:08 TOTON95

Thanks a lot. It worked.

taizoonaliasgar avatar Aug 27 '19 01:08 taizoonaliasgar

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_arsdk to $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.

Problem solved thanks

leithw2 avatar Feb 20 '20 16:02 leithw2

Could you explain how you solved the issue? Thanks!

gsilano avatar Feb 20 '20 16:02 gsilano

I only use the "bypass hacks" mentioned by @anqixu

add <CATKIN_WS>/devel/lib/parrot_arsdk to $LD_LIBRARY_PATH (e.g. in ~/.bashrc),

leithw2 avatar Feb 20 '20 16:02 leithw2

I only use the "bypass hacks" mentioned by @anqixu

add <CATKIN_WS>/devel/lib/parrot_arsdk to $LD_LIBRARY_PATH (e.g. in ~/.bashrc),

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?

Ceepert avatar Feb 27 '20 13:02 Ceepert

  • let's say your catkin workspace is located at ~/catkin_ws
  • for simplicity, let's export an environment variable: $ export CATKIN_WS="~/catkin_ws"
  • to do this properly, you should open your ~/.bashrc file 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
  • but the quick and dirty way is: $ echo LD_LIBRARY_PATH=$CATKIN_WS/devel/lib/parrot_arsdk:$LD_LIBRARY_PATH >> ~/.bashrc

anqixu avatar Mar 03 '20 15:03 anqixu

@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-arsdk

  • Copy 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

MatheusR42 avatar Apr 08 '20 22:04 MatheusR42

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

leithw2 avatar Apr 09 '20 07:04 leithw2