AutonomyLab / bebop_autonomy

ROS driver for Parrot Bebop Drones 1.0 & 2.0
http://wiki.ros.org/bebop_autonomy
BSD 3-Clause "New" or "Revised" License
153 stars 120 forks source link

roslaunch bebop_nodelet.launch fails on 18.04/Melodic/src #170

Open anqixu opened 6 years ago

anqixu commented 6 years ago

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:

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.

captjulian commented 6 years ago

Same issue here

Andrew-rw commented 6 years ago

Same problem. Any progress?

TOTON95 commented 6 years ago

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.

WiPhi7600 commented 5 years ago

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.

taizoonaliasgar commented 5 years ago

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 .

TOTON95 commented 5 years ago

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

taizoonaliasgar commented 5 years ago

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.

TOTON95 commented 5 years ago

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

taizoonaliasgar commented 5 years ago

Thanks a lot. It worked.

leithw2 commented 4 years ago

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

gsilano commented 4 years ago

Could you explain how you solved the issue? Thanks!

leithw2 commented 4 years ago

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

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

Ceepert commented 4 years ago

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

add /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?

anqixu commented 4 years ago
MatheusR42 commented 4 years ago

@Ceepert , I also could not find the parrot_arsdk in the folder. I manage to fix this way:

leithw2 commented 4 years ago

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