Coder Social home page Coder Social logo

Comments (3)

awesomebytes avatar awesomebytes commented on July 27, 2024

Can you give me a more detailed description and log of what problem is arising?

Note that rosdep does not work in Gentoo Prefix because it tries to write in /etc/ros as reported here: ros-infrastructure/rosdep#583

And Gentoo Prefix aims to run on a system without root access and without touching anything outside the Prefix itself.

What do you need rosdep for? (Just curious)

Update: I've looked a bit more into it with the data you provided. The latest version of rosdep does not use unsafe load calls (or I can't find them: https://github.com/ros-infrastructure/rosdep/search?q=load%28&unscoped_q=load%28 )
Update2: I saw that you are probably pulling version 0.13.0 from ros-overlay (cause the upstream dev-python/rosdep in Gentoo has dropped support for Python 2 as I reported here ros/ros-overlay#950). The way to probably workaround this is... well I'll tell you how I did it so it's documented for the future :)

First I cloned the rosdep repo: https://github.com/ros-infrastructure
Then I switched to the tag of the 0.13.0 release git checkout 0.13.0 and I looked for calls to the unsafe yaml.load. I went with doing grep -r load\( . and I saw a bunch of files that did have this call. I went the quick way as they all seemed be called in the same way with yaml.load( so I substituted them with the safe call with: find ./ -type f -exec sed -i -e 's/yaml.load/yaml.safe_load/g' {} \;.

I created a new branch and made a commit to be able to generate a .patch so it can be easily applied in our Gentoos:

git checkout -b rosdep_0.13.0_safe_load
git commit -m "change yaml.load to yaml.safe_load so to workaround gentoo bug https://bugs.gentoo.org/659348"
git format-patch -n HEAD^

This gave me the file: 0001-change-yaml.load-to-yaml.safe_load-so-to-workaround-.patch with the contents: https://gist.github.com/awesomebytes/18938bb640413b175948fa82d3d168ae

Now you can use that patch easily in your install by placing it in $EPREFIX/etc/portage/patches/dev-python/rosdep-0.13.0 and re-emerging dev-python/rosdep.

mkdir -p $EPREFIX/etc/portage/patches/dev-python/rosdep-0.13.0
cd $EPREFIX/etc/portage/patches/dev-python/rosdep-0.13.0
wget https://gist.githubusercontent.com/awesomebytes/18938bb640413b175948fa82d3d168ae/raw/0bab3eb11ec88a7615cd08191487fab2a5730670/0001-change-yaml.load-to-yaml.safe_load-so-to-workaround-.patch
emerge dev-python/rosdep

Note that I haven't tried any of this and there may be some typo, but it should work, I think.

from ros_overlay_on_gentoo_prefix.

alex-kozinov avatar alex-kozinov commented on July 27, 2024

Hi! Sorry for very long pause
What i've done:

  • install sbre_robot_ros_gentoo release on nao robot
  • clone libuvc_ros
  • try to install dependencies
    rosdep install --from-paths src/ --ignore-src
  • then try to update
    rosdep update

Is there another way to install all dependencies of libuvc_ros pachage?

from ros_overlay_on_gentoo_prefix.

awesomebytes avatar awesomebytes commented on July 27, 2024

@alex-kozinov Hello!

libuvc_ros depends on libuvc_camera (same metapackage) which has the following package.xml with the highlighted dependencies:
https://github.com/ros-drivers/libuvc_ros/blob/master/libuvc_camera/package.xml#L37-L55

Other than usual ROS packages (as ros-melodic-image-transport for example) it depends on libuvc. Which any search engine with 'gentoo libuvc' links me to:
https://packages.gentoo.org/packages/media-libs/libuvc

So, to compile libuvc_ros I think you'll need to emerge media-libs/libuvc first. Then you should be able to compile libuvc_ros from source.
That said, I see that ros-overlay does have the ebuild for libuvc_ros (https://github.com/ros/ros-overlay/tree/main/ros-melodic/libuvc_ros ) so you may be able to just do emerge ros-melodic/libuvc_ros and be done with it.

from ros_overlay_on_gentoo_prefix.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.