Can't use colcon build after setting up miniconda

asked 2021-03-19 11:21:12 -0600

hanytawfik gravatar image

updated 2021-03-19 13:28:03 -0600

Hi, my host machine is running Ubuntu 18.04, through which I setup an LXC container running Ubuntu 20.04. ROS2 is installed inside the container and I used it many time following ROS2 tutorials and everything works just fine.

I then needed to install OpenCV and Dlib, for this I installed miniconda. Now I can use OpenCV.

The problem now lies here:

ubuntu@rosfoxy:~$ . install/setup.bash
bash: install/setup.bash: No such file or directory
ubuntu@rosfoxy:~$ ros2 run py_pubsub talker
Package 'py_pubsub' not found

These two commands, even though I don't exactly know what they do, fixed my problem yesterday

colcon build --cmake-clean-cache # reset python3 env
colcon build --symlink-install # rebuild

for today, they return a HUGE error messages ending with:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.8/distutils/core.py", line 215, in run_setup
    exec(f.read(), g)
  File "<string>", line 14, in <module>
ModuleNotFoundError: No module named 'ruamel_yaml'
[50.668s] ERROR:colcon.colcon_core.package_identification:Exception in package identification extension 'python_setup_py' in 'miniconda3/pkgs/ruamel_yaml-0.15.87-py38h7b6447c_1/info/recipe': Command '['/usr/bin/python3', '-c', "import sys;from setuptools.extern.packaging.specifiers import SpecifierSet;from distutils.core import run_setup;dist = run_setup(    'setup.py', script_args=('--dry-run',), stop_after='config');skip_keys = ('cmdclass', 'distclass', 'ext_modules', 'metadata');data = {    key: value for key, value in dist.__dict__.items()     if (        not key.startswith('_') and         not callable(value) and         key not in skip_keys and         key not in dist.display_option_names    )};data['metadata'] = {    k: v for k, v in dist.metadata.__dict__.items()     if k not in ('license_files', 'provides_extras')};sys.stdout.buffer.write(repr(data).encode('utf-8'))"]' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/colcon_core/package_identification/__init__.py", line 143, in _identify
    retval = extension.identify(_reused_descriptor_instance)
  File "/usr/lib/python3/dist-packages/colcon_python_setup_py/package_identification/python_setup_py.py", line 48, in identify
    config = get_setup_information(setup_py)
  File "/usr/lib/python3/dist-packages/colcon_python_setup_py/package_identification/python_setup_py.py", line 241, in get_setup_information
    _setup_information_cache[hashable_env] = _get_setup_information(
  File "/usr/lib/python3/dist-packages/colcon_python_setup_py/package_identification/python_setup_py.py", line 281, in _get_setup_information
    result = subprocess.run(
  File "/usr/lib/python3.8/subprocess.py", line 512, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-c', "import sys;from setuptools.extern.packaging.specifiers import SpecifierSet;from distutils.core import run_setup;dist = run_setup(    'setup.py', script_args=('--dry-run',), stop_after='config');skip_keys = ('cmdclass', 'distclass', 'ext_modules', 'metadata');data = {    key: value for key, value in dist.__dict__.items()     if (        not key.startswith('_') and         not callable(value) and         key not in skip_keys and         key not in dist.display_option_names    )};data['metadata'] = {    k: v for k, v in dist.metadata.__dict__.items()     if k not in ('license_files', 'provides_extras')};sys.stdout.buffer.write(repr(data).encode('utf-8'))"]' returned non-zero exit status 1.

[52.228s] ERROR:colcon:colcon build: Duplicate package names not supported:
- cmake_build_test:
  - miniconda3/pkgs/libopencv-4.5.1-py38h703c3c0_0/info/recipe
  - miniconda3/pkgs/libopencv-4.5.1-py38h703c3c0_0/info/test
  - miniconda3/pkgs/opencv-4.5.1-py38h578d9bd_0/info/recipe/parent
  - miniconda3/pkgs/opencv-4.5.1-py38h578d9bd_0/info/test
  - miniconda3/pkgs/py-opencv-4 ...
(more)
edit retag flag offensive close merge delete