Skip to content

ROS Jazzy and Nav2 not compatible #4909

@mfruhner

Description

@mfruhner

Checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

Commands I ran and their output:

pixi install
Error:   × failed to solve requirements of environment 'default' for platform 'linux-64'
  ├─▶   × failed to solve the environment
  │
  ╰─▶ Cannot solve the request because of: The following packages are incompatible
      ├─ ros-jazzy-desktop * can be installed with any of the following options:
      │  └─ ros-jazzy-desktop 0.11.0 would require
      │     └─ ros-jazzy-pcl-conversions *, which can be installed with any of the following options:
      │        ├─ ros-jazzy-pcl-conversions 2.6.2 would require
      │        │  └─ pcl *, which can be installed with any of the following options:
      │        │     ├─ pcl 1.15.0 would require
      │        │     │  └─ libboost >=1.88.0,<1.89.0a0, which can be installed with any of the following options:
      │        │     │     └─ libboost 1.88.0 | 1.88.0 | 1.88.0 | 1.88.0 | 1.88.0 | 1.88.0
      │        │     ├─ pcl 1.15.0 would require
      │        │     │  └─ vtk * qt*, which can be installed with any of the following options:
      │        │     │     └─ vtk 9.0.1 | 9.0.1 | 9.0.1 | 9.0.1 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 |
      9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0
      | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.1.0 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 |
      9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.2 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5
      | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.5 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 |
      9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6
      | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 |
      9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6
      | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 | 9.2.6 |
      9.2.6 | 9.3.0 | 9.3.0 | 9.3.0 | 9.3.0 | 9.3.0 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1
      | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 |
      9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1
      | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 |
      9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1 | 9.3.1
      │        │     ├─ pcl 1.14.1 | 1.14.1 | 1.14.1 | 1.14.1 | 1.14.1 | 1.14.1 | 1.14.1 | 1.14.1
      │        │     └─ pcl 1.8.1 | 1.8.1 | 1.8.1 | 1.8.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.11.1 | 1.11.1 | 1.11.1 | 1.11.1 | 1.11.1 | 1.11.1 | 1.11.1
      | 1.11.1 | 1.11.1 | 1.12.0 | 1.12.0 | 1.12.0 | 1.12.1 | 1.12.1 | 1.12.1 | 1.12.1 | 1.13.0 | 1.13.0 | 1.13.0 | 1.13.1 | 1.13.1 | 1.13.1 | 1.13.1 | 1.14.0 | 1.14.0 | 1.15.1 | 1.15.1
      | 1.15.1
      │        └─ ros-jazzy-pcl-conversions 2.6.2 | 2.6.2 | 2.6.2 would require
      │           └─ pcl >=1.14.1,<1.14.2.0a0, which can be installed with any of the following options:
      └─ ros-jazzy-nav2-bringup ==1.3.10 cannot be installed because there are no viable options:
         └─ ros-jazzy-nav2-bringup 1.3.10 would require
            ├─ ros-jazzy-slam-toolbox *, which cannot be installed because there are no viable options:
            │  ├─ ros-jazzy-slam-toolbox 2.8.3 would require
            │  │  └─ ros-jazzy-rviz-rendering *, which cannot be installed because there are no viable options:
            │  │     ├─ ros-jazzy-rviz-rendering 14.1.16 would require
            │  │     │  └─ glew >=2.2.0,<2.3.0a0, which cannot be installed because there are no viable options:
            │  │     │     └─ glew 2.2.0, which conflicts with the versions reported above.
            │  │     ├─ ros-jazzy-rviz-rendering 14.1.15 would require
            │  │     │  └─ ros2-distro-mutex >=0.11.0,<0.12.0a0, which cannot be installed because there are no viable options:
            │  │     │     └─ ros2-distro-mutex 0.11.0, which conflicts with the versions reported above.
            │  │     ├─ ros-jazzy-rviz-rendering 14.1.12 | 14.1.12 would require
            │  │     │  └─ ros2-distro-mutex >=0.10.0,<0.11.0a0, which cannot be installed because there are no viable options:
            │  │     │     ├─ ros2-distro-mutex 0.10.0, which conflicts with the versions reported above.
            │  │     │     └─ ros2-distro-mutex 0.10.0, which conflicts with the versions reported above.
            │  │     ├─ ros-jazzy-rviz-rendering 14.1.11 would require
            │  │     │  └─ ros2-distro-mutex >=0.9.0,<0.10.0a0, which cannot be installed because there are no viable options:
            │  │     │     └─ ros2-distro-mutex 0.9.0, which conflicts with the versions reported above.
            │  │     ├─ ros-jazzy-rviz-rendering 14.1.8 would require
            │  │     │  └─ ros2-distro-mutex >=0.8.0,<0.9.0a0, which cannot be installed because there are no viable options:
            │  │     │     └─ ros2-distro-mutex 0.8.0, which conflicts with the versions reported above.
            │  │     ├─ ros-jazzy-rviz-rendering 14.1.7 would require
            │  │     │  └─ ros2-distro-mutex >=0.7.0,<0.8.0a0, which cannot be installed because there are no viable options:
            │  │     │     └─ ros2-distro-mutex 0.7.0, which conflicts with the versions reported above.
            │  │     └─ ros-jazzy-rviz-rendering 14.1.6 would require
            │  │        └─ ros2-distro-mutex >=0.6.0,<0.7.0a0, which cannot be installed because there are no viable options:
            │  │           └─ ros2-distro-mutex 0.6.0, which conflicts with the versions reported above.
            │  ├─ ros-jazzy-slam-toolbox 2.8.3 would require
            │  │  └─ ros2-distro-mutex >=0.11.0,<0.12.0a0, which cannot be installed because there are no viable options:
            │  │     └─ ros2-distro-mutex 0.11.0, which conflicts with the versions reported above.
            │  ├─ ros-jazzy-slam-toolbox 2.8.3 | 2.8.3 would require
            │  │  └─ ros2-distro-mutex >=0.10.0,<0.11.0a0, which cannot be installed because there are no viable options:
            │  │     ├─ ros2-distro-mutex 0.10.0, which conflicts with the versions reported above.
            │  │     └─ ros2-distro-mutex 0.10.0, which conflicts with the versions reported above.
            │  ├─ ros-jazzy-slam-toolbox 2.8.3 would require
            │  │  └─ ros2-distro-mutex >=0.9.0,<0.10.0a0, which cannot be installed because there are no viable options:
            │  │     └─ ros2-distro-mutex 0.9.0, which conflicts with the versions reported above.
            │  ├─ ros-jazzy-slam-toolbox 2.8.2 would require
            │  │  └─ ros2-distro-mutex >=0.8.0,<0.9.0a0, which cannot be installed because there are no viable options:
            │  │     └─ ros2-distro-mutex 0.8.0, which conflicts with the versions reported above.
            │  ├─ ros-jazzy-slam-toolbox 2.8.2 would require
            │  │  └─ ros2-distro-mutex >=0.7.0,<0.8.0a0, which cannot be installed because there are no viable options:
            │  │     └─ ros2-distro-mutex 0.7.0, which conflicts with the versions reported above.
            │  └─ ros-jazzy-slam-toolbox 2.8.2 would require
            │     └─ ros2-distro-mutex >=0.6.0,<0.7.0a0, which cannot be installed because there are no viable options:
            │        └─ ros2-distro-mutex 0.6.0, which conflicts with the versions reported above.
            └─ ros2-distro-mutex >=0.12.0,<0.13.0a0, which cannot be installed because there are no viable options:
               └─ ros2-distro-mutex 0.12.0, which conflicts with the versions reported above.

pixi.toml/pyproject.toml file that reproduces my issue:

[workspace]
name = "ros2-nav2"
platforms = ["linux-64"]
channels = ["robostack-jazzy", "conda-forge"]


[tasks]
start = "ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False"
start-tb4 = "ros2 launch nav2_bringup tb4_simulation_launch.py headless:=False"


[dependencies]
ros-jazzy-desktop = "*"
ros-jazzy-nav2-bringup = "==1.3.10"

pixi info output:

System
------------
       Pixi version: 0.59.0
           Platform: linux-64
   Virtual packages: __unix=0=0
                   : __linux=5.15.167.4=0
                   : __glibc=2.39=0
                   : __cuda=13.0=0
                   : __archspec=1=skylake
          Cache dir: /home/mfruhner/.cache/rattler/cache
       Auth storage: /home/mfruhner/.rattler/credentials.json
   Config locations: No config files found

Global
------------
            Bin dir: /home/mfruhner/.pixi/bin
    Environment dir: /home/mfruhner/.pixi/envs
       Manifest dir: /home/mfruhner/.pixi/manifests/pixi-global.toml

Workspace
------------
               Name: ros2-nav2
      Manifest file: /home/mfruhner/git/test/pixi/examples/ros2-nav2/pixi.toml
       Last updated: 11-11-2025 11:04:32

Environments
------------
        Environment: default
           Features: default
           Channels: robostack-jazzy, conda-forge
   Dependency count: 2
       Dependencies: ros-jazzy-desktop, ros-jazzy-nav2-bringup
   Target platforms: linux-64
    Prefix location: /home/mfruhner/git/test/pixi/examples/ros2-nav2/.pixi/envs/default
              Tasks: start-tb4, start

Other files (e.g. script files, source files, etc.):

Issue description

I want to install the latest version of nav2 (and nav2-bringup) (1.3.10) inside my pixi env to test the turtlebot4 in Ubuntu 24 on WSL2. However I notice that it throws the above error. Why are the mutexes not compatible (0.11.0 and 0.12.0)?
When not specifying a version, 1.3.7 is installed.

Expected behavior

successful Installation

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions