Open CrawlerSpider opened 6 years ago
@CrawlerSpider this is not all that surprising. I need to clarify this in the README for the repo, I think.
The state of ROS 2 on Gentoo is very much not working yet. Though there are ebuilds generating, they are not all generating (that one, specifically, due to the fact that the rosdep keys are not yet implemented for one of its dependencies).
superflore-gen-ebuilds --only connext_cmake_module --ros-distro bouncy
would be the command to generate that package. If you can resolve that key for gentoo and pull request it into the ros/rosdistro
repository, then the package will appear next I run superflore-gen-ebuilds
.
There's still an issue, though: the eclass files for ROS 2 still remain incomplete. I will be working on this in the near future, because I would love to see it working. For the moment, you can try to build ROS 2 from source by hand (which is less than great, but still a result).
@allenh1 i did what you suggested
superflore-gen-ebuilds --only connext_cmake_module --ros-distro bouncy
but unfortently i get the following error:
Traceback (most recent call last):
File "/usr/lib/python-exec/python3.6/superflore-gen-ebuilds", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 3098, in <module>
@_call_aside
File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 3082, in _call_aside
f(*args, **kwargs)
File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 3111, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 573, in _build_master
ws.require(__requires__)
File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 891, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib64/python3.6/site-packages/pkg_resources/__init__.py", line 777, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'argparse' distribution was not found and is required by rosinstall-generator
Since argparse is part of python, i don't really know how to solve it.
pkg_resources.DistributionNotFound: The 'argparse' distribution was not found and is required by rosinstall-generator
This tells me that something wants for argparse
to be pip-installed. Not sure why this is the case.
Does this fix it?
pip3 install --user argparse
@CrawlerSpider this is what I get:
allenh1@hunter-laptop ~
$ superflore-gen-ebuilds --only connext_cmake_module --ros-distro bouncy
>>>> Working in temporary directory /tmp/tmpvan4u611
>>>> Creating new branch gentoo-bot-SBmKbiUEfm...
>>>>
>>>> Regenerating package 'connext_cmake_module'...
!!!! Failed to resolve required dependencies for package connext_cmake_module!
!!!! unresolved: "rti-connext-dds-5.3.1"
>>>> Pulling docker image 'allenh1/ros_gentoo_base:latest'...
>>>> Running docker image...
>>>> Generating manifests...
>>>> Working in temporary directory /tmp/tmpy1yr_3jo
>>>> Running container with command string 'bash -c 'cd /tmp/ros-overlay/ros-bouncy/connext_cmake_module &>> /tmp/tmpy1yr_3jo/log.txt && repoman manifest &>> /tmp/tmpy1yr_3jo/log.txt''...
!!!! Docker container exited with errors.
>>>> Cleaning up temporary directory /tmp/tmpy1yr_3jo
bash: line 0: cd: /tmp/ros-overlay/ros-bouncy/connext_cmake_module: No such file or directory
>>>> Cleaning up temporary directory /tmp/tmpvan4u611
Traceback (most recent call last):
File "/usr/lib/python-exec/python3.5/superflore-gen-ebuilds", line 11, in <module>
load_entry_point('superflore==0.2.1', 'console_scripts', 'superflore-gen-ebuilds')()
File "/usr/lib64/python3.5/site-packages/superflore/generators/ebuild/run.py", line 133, in main
overlay.regenerate_manifests(regen_dict)
File "/usr/lib64/python3.5/site-packages/superflore/generators/ebuild/overlay_instance.py", line 72, in regenerate_manifests
dock.run(show_cmd=True)
File "/usr/lib64/python3.5/site-packages/superflore/docker.py", line 115, in run
volumes=self.directory_map,
File "/usr/lib64/python3.5/site-packages/docker/models/containers.py", line 795, in run
container, exit_status, command, image, out
docker.errors.ContainerError: Command 'bash -c 'cd /tmp/ros-overlay/ros-bouncy/connext_cmake_module &>> /tmp/tmpy1yr_3jo/log.txt && repoman manifest &>> /tmp/tmpy1yr_3jo/log.txt'' in image 'sha256:9a46fe736d290ccd34f2239818868fec67a89f4e694a60065d37a2e94986982b' returned non-zero exit status 1: b''
@CrawlerSpider I've got a patch into catkin_pkg
referenced above. You can apply it locally by doing the following.
# mkdir -p /etc/portage/patches/dev-python/catkin_pkg-0.4.8
Then create a file /etc/portage/patches/dev-python/catkin_pkg-0.4.8/0001-Remove-argparse-dependency.patch
with the following contents.
From 174ebe4f661e21abe3e80171521568b166653f7a Mon Sep 17 00:00:00 2001
From: "Hunter L. Allen" <hunter@openrobotics.org>
Date: Thu, 4 Oct 2018 21:20:45 -0400
Subject: [PATCH] Remove argparse dependency
---
setup.py | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/setup.py b/setup.py
index 604cbfd..1ba9271 100755
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,20 @@
#!/usr/bin/env python
import os
+import sys
from setuptools import setup
+install_requires = [
+ 'docutils',
+ 'python-dateutil',
+ 'pyparsing',
+]
+
+# argparse is part of the standard library since Python 2.7
+if sys.version_info[0] == 2 and sys.version_info[1] <= 7:
+ install_requires.append('argparse')
+
kwargs = {
'name': 'catkin_pkg',
# same version as in:
@@ -34,12 +45,7 @@ kwargs = {
'description': 'catkin package library',
'long_description': 'Library for retrieving information about catkin packages.',
'license': 'BSD',
- 'install_requires': [
- 'argparse',
- 'docutils',
- 'python-dateutil',
- 'pyparsing',
- ],
+ 'install_requires':install_requires,
}
if 'SKIP_PYTHON_MODULES' in os.environ:
kwargs['packages'] = []
--
2.19.0
Next, just re-emerge dev-python/catkin_pkg
and the user patch should be pulled in.
Ok, things worked, but an ebuild to connext_cmake_module was not generated... could you confirm that superflore-gen-ebuilds does not generate it?
@CrawlerSpider that's correct. It won't generate it until that rosdep key is satisfied.
Glad to know you got it working, though.
Hi,
as i tried to build:
emerge -va ros-bouncy/desktop
I got:
After long search for an ebuild for
ros-bouncy/connext_cmake_module
, i must say, that I was unable to find one...Regards