Skip to content

ament_clang_format (tidy?) doesn't work on Windows #98

@tony-p

Description

@tony-p

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

When trying to use ament-clang-format on windows, it cannot find the clang-format that exists on the conda env path. Although I have only tested it on ament-clang-format, I imagine it is a standard issue as I guess it has more to do with how the executable is created. It only appears to be an issue on windows, linux works fine.

to reproduce
pixi.toml

[workspace]
channels = ["conda-forge", "robostack-jazzy"]
name = "test-ament-clang-format"
platforms = ["win-64"]
version = "0.1.0"

[tasks]

[dependencies]
clang-format = "*"
ros-jazzy-ament-clang-format = "*"

create a simple C++ file in directory (otherwise complains there is nothing to format

from git bash or similar

pixi run /c/test-ament-clang-format/.pixi/envs/default/Library/bin/ament_clang_format.exe

> Could not find 'clang-format' / 'clang-format-3.8' / 'clang-format-3.7' / 'clang-format-3.6' / 'clang-format-3.5' / 'clang-format-3.4' / 'clang-format-3.3' executable

Note I first discovered this via the ament-cmake-clang-format cmake plugin, but it is easier to reproduce without that

Installed packages

Package                       Version                Build                  Size       Kind   Source
bzip2                         1.0.8                  h2466b09_7             53.6 KiB   conda  https://conda.anaconda.org/conda-forge/
ca-certificates               2025.8.3               h4c7d964_0             150.9 KiB  conda  https://conda.anaconda.org/conda-forge/
clang-format                  19.1.7                 default_hec7ea82_3     1.2 MiB    conda  https://conda.anaconda.org/conda-forge/
libblas                       3.9.0                  34_h5709861_mkl        68.9 KiB   conda  https://conda.anaconda.org/conda-forge/
libcblas                      3.9.0                  34_h2a3cdd5_mkl        69 KiB     conda  https://conda.anaconda.org/conda-forge/
libexpat                      2.7.1                  hac47afa_0             138 KiB    conda  https://conda.anaconda.org/conda-forge/
libffi                        3.4.6                  h537db12_1             43.9 KiB   conda  https://conda.anaconda.org/conda-forge/
libhwloc                      2.12.1                 default_h88281d1_1000  2.3 MiB    conda  https://conda.anaconda.org/conda-forge/
libiconv                      1.18                   hc1393d2_2             680.6 KiB  conda  https://conda.anaconda.org/conda-forge/
liblapack                     3.9.0                  34_hf9ab0e9_mkl        80.3 KiB   conda  https://conda.anaconda.org/conda-forge/
liblzma                       5.8.1                  h2466b09_2             102.5 KiB  conda  https://conda.anaconda.org/conda-forge/
libsqlite                     3.50.4                 hf5d6505_0             1.2 MiB    conda  https://conda.anaconda.org/conda-forge/
libwinpthread                 12.0.0.r4.gg4f2fc60ca  h57928b3_9             35 KiB     conda  https://conda.anaconda.org/conda-forge/
libxml2                       2.13.8                 h741aa76_1             1.4 MiB    conda  https://conda.anaconda.org/conda-forge/
libzlib                       1.3.1                  h2466b09_2             54.2 KiB   conda  https://conda.anaconda.org/conda-forge/
llvm-openmp                   20.1.8                 hfa2b4ca_1             286.8 KiB  conda  https://conda.anaconda.org/conda-forge/
mkl                           2024.2.2               h57928b3_16            98.3 MiB   conda  https://conda.anaconda.org/conda-forge/
numpy                         1.26.4                 py312h8753938_0        6.2 MiB    conda  https://conda.anaconda.org/conda-forge/
openssl                       3.5.2                  h725018a_0             8.8 MiB    conda  https://conda.anaconda.org/conda-forge/
python                        3.12.11                h3f84c4b_0_cpython     15.1 MiB   conda  https://conda.anaconda.org/conda-forge/
python_abi                    3.12                   8_cp312                6.8 KiB    conda  https://conda.anaconda.org/conda-forge/
pyyaml                        6.0.2                  py312h31fea79_2        177.5 KiB  conda  https://conda.anaconda.org/conda-forge/
ros-jazzy-ament-clang-format  0.17.2                 np126py312h4d29ed4_9   34.7 KiB   conda  https://conda.anaconda.org/robostack-jazzy/
ros-jazzy-ros-workspace       1.0.3                  np126py312h4d29ed4_9   31.2 KiB   conda  https://conda.anaconda.org/robostack-jazzy/
ros2-distro-mutex             0.10.0                 jazzy_9                2.3 KiB    conda  https://conda.anaconda.org/robostack-jazzy/
tbb                           2021.13.0              h18a62a1_2             146.4 KiB  conda  https://conda.anaconda.org/conda-forge/
tk                            8.6.13                 h2c6b04d_2             3.3 MiB    conda  https://conda.anaconda.org/conda-forge/
tzdata                        2025b                  h78e105d_0             120.1 KiB  conda  https://conda.anaconda.org/conda-forge/
ucrt                          10.0.22621.0           h57928b3_1             546.6 KiB  conda  https://conda.anaconda.org/conda-forge/
vc                            14.3                   h41ae7f8_31            17.8 KiB   conda  https://conda.anaconda.org/conda-forge/
vc14_runtime                  14.44.35208            h818238b_31            666.4 KiB  conda  https://conda.anaconda.org/conda-forge/
vcomp14                       14.44.35208            h818238b_31            111.3 KiB  conda  https://conda.anaconda.org/conda-forge/
yaml                          0.2.5                  h6a83c73_3             62.4 KiB   conda  https://conda.anaconda.org/conda-forge/

Environment info

System
------------
       Pixi version: 0.45.0
           Platform: win-64
   Virtual packages: __win=10.0.19045=0
                   : __cuda=12.8=0
                   : __archspec=1=skylake
          Cache dir: C:\Users\me\AppData\Local\rattler\cache     
       Auth storage: C:\Users\me\.rattler\credentials.json       
   Config locations: No config files found

Global
------------
            Bin dir: C:\Users\me\.pixi\bin
    Environment dir: C:\Users\me\.pixi\envs
       Manifest dir: C:\Users\me\.pixi\manifests\pixi-global.toml

Workspace
------------
               Name: test-ament-clang-format
            Version: 0.1.0
      Manifest file: C:\test-ament-clang-format\pixi.toml
       Last updated: 18-08-2025 12:02:19

Environments
------------
        Environment: default
           Features: default
           Channels: conda-forge, robostack-jazzy
   Dependency count: 2
       Dependencies: clang-format, ros-jazzy-ament-clang-format
   Target platforms: win-64

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