Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
anqixu opened this issue Jul 12, 2018 · 16 comments
Open

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

anqixu opened this issue Jul 12, 2018 · 16 comments

Comments

@anqixu
Copy link

anqixu commented Jul 12, 2018

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.

@captjulian
Copy link

Same issue here

@Andrew-rw
Copy link

Same problem. Any progress?

@TOTON95
Copy link

TOTON95 commented Oct 9, 2018

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

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

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

TOTON95 commented Aug 26, 2019

@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
Copy link

taizoonaliasgar commented Aug 27, 2019

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

TOTON95 commented Aug 27, 2019

@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
Copy link

taizoonaliasgar commented Aug 27, 2019 via email

@leithw2
Copy link

leithw2 commented Feb 20, 2020

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
Copy link
Contributor

gsilano commented Feb 20, 2020

Could you explain how you solved the issue? Thanks!

@leithw2
Copy link

leithw2 commented Feb 20, 2020

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

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

@Ceepert
Copy link

Ceepert commented Feb 27, 2020

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?

@anqixu
Copy link
Author

anqixu commented Mar 3, 2020

  • 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

@MatheusR42
Copy link

@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

@leithw2
Copy link

leithw2 commented Apr 9, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants