Comments (3)
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.
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.
@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)
- Automate using latest release of gentoo_prefix_ci HOT 2
- Add sqlite USE flag to python HOT 1
- Fix ros_base image docker build HOT 1
- Catkin issue Failed Patch: 0001-Workaround-error-issue-ros-overlay-711.patch HOT 3
- docker build --squash
- Maybe create GitHub issues when builds break?
- Add job that tests the produced images HOT 1
- ros2 support HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ros_overlay_on_gentoo_prefix.