Skip to content

Conversation

@traversaro
Copy link
Member

The main goal here is to align noetic with the rest of the repos, switching to a unified vinca.yaml and similar. To be honest, I do not have any interested in Noetic packages it self at the moment, so if anyone more interested in Noetic wants to help here it would be great.

fyi @mmoerdijk @TedVanderfeen @ruben-arts @baszalmstra @vmehta-humanoid @nmarticorena @daenny (just tagging the author of recent PRs to the Noetic repo)

@traversaro
Copy link
Member Author

At the moment the rosbash patch modified in #536 is not applying. @daenny can you look into that? Thanks!

@baszalmstra
Copy link
Contributor

Id like to help! :)

@traversaro
Copy link
Member Author

Id like to help! :)

I gave you access to the fork, feel free to push directly there in the rebuildnov2025 branch.

@baszalmstra
Copy link
Contributor

Thanks! I pushed a number of (mostly windows) related fixes. Will continue later.

The upstream source at release/noetic/rosbag/1.17.4-1 now uses
conditional compilation (#if BOOST_VERSION < 107200) for boost headers.
@baszalmstra
Copy link
Contributor

baszalmstra commented Nov 1, 2025

I just tried to fix rosbash but it looks like the zsh implementation has changed quite a bit. I let my AI assistant cobble something together but I dont really trust it enough.

@baszalmstra
Copy link
Contributor

Should we try to use conda-forge fcl for ros-noetic-fcl instead?

baszalmstra and others added 8 commits November 2, 2025 00:15
The upstream source already removed add_compile_options(-std=c++11).
Regenerated patch to only add OpenCV find_package and linking.
The upstream source at release/noetic/rosgraph/1.17.4-1 already has
Python 3.11+ compatibility handling with conditional logic.
The upstream source at release/noetic/rospack/2.6.4-1 already handles
APPLE-specific library exclusion using a package_libraries variable.
The upstream source already has the boost filesystem API updates
(fs::extension). Regenerated patch without those already-applied changes.
The upstream source at release/noetic/topic_tools/1.17.4-1 already
includes the <thread> header that this patch was adding.
The upstream source at release/noetic/tf2_py/0.7.10-1 already includes
the APPLE-specific Python linking and -undefined dynamic_lookup flags.
The upstream source at release/noetic/tf/1.13.4-1 already removed the
C++11 checking logic. Regenerated patch with only NO_ERROR and sys/time.h changes.
@traversaro
Copy link
Member Author

Should we try to use conda-forge fcl for ros-noetic-fcl instead?

Done in traversaro@596aa7a .

@daenny
Copy link
Contributor

daenny commented Nov 1, 2025

I can have a look at the zsh patch on Monday, but I am also fine with just removing it.

Refactor run_rattler_build to run recipes individually and report results. Better for debugging.
@Tobias-Fischer
Copy link
Collaborator

@traversaro - I have a feeling we've seen this Windows error before somewhere, but I can't recall the fix. Can you remember?

2025-11-14T05:25:31.4512058Z  │ │ × error File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\ros-noetic-diff-drive-controllermD3GMX\\Library\\include\\diff_drive_controller\\DiffDriveControllerConfig.h" contains the prefix with both forward- and backslashes. This is not supported and can lead to issues.

@Tobias-Fischer
Copy link
Collaborator

On linux, we're running into

2025-11-14T04:49:41.9946648Z  │ │ [1/13] Generating include/rtabmap_rviz_plugins/moc_MapCloudDisplay.cpp
2025-11-14T04:49:42.2118160Z  │ │ [2/13] Generating include/rtabmap_rviz_plugins/moc_OrbitOrientedViewController.cpp
2025-11-14T04:49:43.0062125Z  │ │ [3/13] Generating include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp
2025-11-14T04:49:43.2966590Z  │ │ [4/13] Generating include/rtabmap_rviz_plugins/moc_InfoDisplay.cpp
2025-11-14T04:49:53.2768925Z  │ │ [5/13] Building CXX object CMakeFiles/rtabmap_rviz_plugins.dir/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp.o
2025-11-14T04:49:53.2776530Z  │ │ FAILED: [code=1] CMakeFiles/rtabmap_rviz_plugins.dir/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp.o 
2025-11-14T04:49:53.2970641Z  │ │ $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DROSCONSOLE_BACKEND_LOG4CXX -DROS_BUILD_SHARED_LIBS=1 -DROS_PACKAGE_NAME=\"rtabmap_rviz_plugins\" -Drtabmap_rviz_plugins_EXPORTS -I$SRC_DIR/ros-noetic-rtabmap-rviz-plugins/src/work/include -I$PREFIX/share/xmlrpcpp/cmake/../../../include/xmlrpcpp -I$PREFIX/include/eigen3 -I$PREFIX/include/pcl-1.15 -I$PREFIX/include/OGRE -I$PREFIX/include/OGRE/Bites -I$PREFIX/include/SDL2 -I$PREFIX/include/OGRE/HLMS -I$PREFIX/include/OGRE/MeshLodGenerator -I$PREFIX/include/OGRE/Overlay -I$PREFIX/include/OGRE/Paging -I$PREFIX/include/OGRE/Property -I$PREFIX/include/OGRE/RTShaderSystem -I$PREFIX/include/OGRE/Terrain -I$PREFIX/include/OGRE/Volume -I$PREFIX/include/rtabmap-0.21 -I$PREFIX/include/opencv4 -I$PREFIX/include/qt6/QtWidgets -I$PREFIX/include/qt6 -I$PREFIX/include/qt6/QtCore -I$PREFIX/include/qt6/QtGui -I$PREFIX/include/qt6/QtDBus -I$PREFIX/include/qt6/QtOpenGL -I$PREFIX/include/qt -I$PREFIX/include/qt/QtCore -I$PREFIX/./mkspecs/linux-g++ -I$PREFIX/include/qt/QtWidgets -I$PREFIX/include/qt/QtGui -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-noetic-rtabmap-rviz-plugins-0.21.13 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DBOOST_ERROR_CODE_HEADER_ONLY -D__STDC_FORMAT_MACROS=1 -O3 -DNDEBUG -fPIC -fPIC -MD -MT CMakeFiles/rtabmap_rviz_plugins.dir/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp.o -MF CMakeFiles/rtabmap_rviz_plugins.dir/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp.o.d -o CMakeFiles/rtabmap_rviz_plugins.dir/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp.o -c $SRC_DIR/build/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp
2025-11-14T04:49:53.2983865Z  │ │ $SRC_DIR/build/include/rtabmap_rviz_plugins/moc_MapGraphDisplay.cpp:16:2: error: #error "This file was generated using the moc from 5.15.15. It"
2025-11-14T04:49:53.2985573Z  │ │    16 | #error "This file was generated using the moc from 5.15.15. It"

I think we have to move everything (qt-gui-cpp, rviz, ...) to qt6, which will be a major pain. Any ideas / volunteers?

@Tobias-Fischer
Copy link
Collaborator

And I think for qt6, we're still missing conda-forge/pyqt-feedstock#145

@Tobias-Fischer
Copy link
Collaborator

We might want to check ros-visualization/python_qt_binding#143 and ros-visualization/qt_gui_core#293

@Tobias-Fischer
Copy link
Collaborator

On osx, we get:

025-11-26T05:30:23.7754670Z Error:   × Failed to resolve dependencies: Cannot solve the request because of: The
2025-11-26T05:30:23.7757510Z   │ following packages are incompatible
2025-11-26T05:30:23.7758900Z   │ └─ ros-noetic-srdfdom * cannot be installed because there are no viable
2025-11-26T05:30:23.7760380Z   │ options:
2025-11-26T05:30:23.7765100Z   │    ├─ ros-noetic-srdfdom 0.6.4 would require
2025-11-26T05:30:23.7771160Z   │    │  └─ ros-noetic-urdfdom-py *, which cannot be installed because there
2025-11-26T05:30:23.7772630Z   │ are no viable options:
2025-11-26T05:30:23.7773590Z   │    │     ├─ ros-noetic-urdfdom-py 0.4.6 would require
2025-11-26T05:30:23.7774870Z   │    │     │  └─ urdfdom-py >=0.4.6,<0.5.0a0, for which no candidates were
2025-11-26T05:30:23.7775930Z   │ found.
2025-11-26T05:30:23.7777090Z   │    │     └─ ros-noetic-urdfdom-py 0.4.6 | 0.4.6 | 0.4.6 is excluded
2025-11-26T05:30:23.7778560Z   │ because due to strict channel priority not using this option from:
2025-11-26T05:30:23.7779950Z   │ 'https://conda.anaconda.org/robostack-staging/'
2025-11-26T05:30:23.7781490Z   │    └─ ros-noetic-srdfdom 0.6.3 | 0.6.4 | 0.6.4 | 0.6.4 | 0.6.4 is excluded
2025-11-26T05:30:23.7783060Z   │ because due to strict channel priority not using this option from:
2025-11-26T05:30:23.7784680Z   │ 'https://conda.anaconda.org/robostack-staging/'
2025-11-26T05:30:23.7786140Z   │ 
2025-11-26T05:30:23.7788670Z   ╰─▶ Cannot solve the request because of: The following packages are
2025-11-26T05:30:23.7790470Z       incompatible
2025-11-26T05:30:23.7792330Z       └─ ros-noetic-srdfdom * cannot be installed because there are no viable
2025-11-26T05:30:23.7793720Z       options:
2025-11-26T05:30:23.7794760Z          ├─ ros-noetic-srdfdom 0.6.4 would require
2025-11-26T05:30:23.7796120Z          │  └─ ros-noetic-urdfdom-py *, which cannot be installed because
2025-11-26T05:30:23.7797330Z       there are no viable options:
2025-11-26T05:30:23.7798340Z          │     ├─ ros-noetic-urdfdom-py 0.4.6 would require
2025-11-26T05:30:23.7799570Z          │     │  └─ urdfdom-py >=0.4.6,<0.5.0a0, for which no candidates were
2025-11-26T05:30:23.7800520Z       found.
2025-11-26T05:30:23.7801360Z          │     └─ ros-noetic-urdfdom-py 0.4.6 | 0.4.6 | 0.4.6 is excluded
2025-11-26T05:30:23.7802560Z       because due to strict channel priority not using this option from:
2025-11-26T05:30:23.7803900Z       'https://conda.anaconda.org/robostack-staging/'
2025-11-26T05:30:23.7805990Z          └─ ros-noetic-srdfdom 0.6.3 | 0.6.4 | 0.6.4 | 0.6.4 | 0.6.4 is
2025-11-26T05:30:23.7807990Z       excluded because due to strict channel priority not using this option
2025-11-26T05:30:23.7809540Z       from: 'https://conda.anaconda.org/robostack-staging/'

I don't yet understand how to deal with this - version 0.6.4 is in
https://github.com/traversaro/ros-noetic/blob/5202c9adfc9fb1c8e8c5d3ca5bb2a9094d6b4dec/rosdistro_snapshot.yaml#L8322C1-L8325C17

But we don't have that version in conda-forge.

@Tobias-Fischer
Copy link
Collaborator

@traversaro - I have a feeling we've seen this Windows error before somewhere, but I can't recall the fix. Can you remember?

2025-11-14T05:25:31.4512058Z  │ │ × error File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\ros-noetic-diff-drive-controllermD3GMX\\Library\\include\\diff_drive_controller\\DiffDriveControllerConfig.h" contains the prefix with both forward- and backslashes. This is not supported and can lead to issues.

This issue still persists on Windows - any clue @traversaro?

@traversaro
Copy link
Member Author

On osx, we get:

025-11-26T05:30:23.7754670Z Error:   × Failed to resolve dependencies: Cannot solve the request because of: The
2025-11-26T05:30:23.7757510Z   │ following packages are incompatible
2025-11-26T05:30:23.7758900Z   │ └─ ros-noetic-srdfdom * cannot be installed because there are no viable
2025-11-26T05:30:23.7760380Z   │ options:
2025-11-26T05:30:23.7765100Z   │    ├─ ros-noetic-srdfdom 0.6.4 would require
2025-11-26T05:30:23.7771160Z   │    │  └─ ros-noetic-urdfdom-py *, which cannot be installed because there
2025-11-26T05:30:23.7772630Z   │ are no viable options:
2025-11-26T05:30:23.7773590Z   │    │     ├─ ros-noetic-urdfdom-py 0.4.6 would require
2025-11-26T05:30:23.7774870Z   │    │     │  └─ urdfdom-py >=0.4.6,<0.5.0a0, for which no candidates were
2025-11-26T05:30:23.7775930Z   │ found.
2025-11-26T05:30:23.7777090Z   │    │     └─ ros-noetic-urdfdom-py 0.4.6 | 0.4.6 | 0.4.6 is excluded
2025-11-26T05:30:23.7778560Z   │ because due to strict channel priority not using this option from:
2025-11-26T05:30:23.7779950Z   │ 'https://conda.anaconda.org/robostack-staging/'
2025-11-26T05:30:23.7781490Z   │    └─ ros-noetic-srdfdom 0.6.3 | 0.6.4 | 0.6.4 | 0.6.4 | 0.6.4 is excluded
2025-11-26T05:30:23.7783060Z   │ because due to strict channel priority not using this option from:
2025-11-26T05:30:23.7784680Z   │ 'https://conda.anaconda.org/robostack-staging/'
2025-11-26T05:30:23.7786140Z   │ 
2025-11-26T05:30:23.7788670Z   ╰─▶ Cannot solve the request because of: The following packages are
2025-11-26T05:30:23.7790470Z       incompatible
2025-11-26T05:30:23.7792330Z       └─ ros-noetic-srdfdom * cannot be installed because there are no viable
2025-11-26T05:30:23.7793720Z       options:
2025-11-26T05:30:23.7794760Z          ├─ ros-noetic-srdfdom 0.6.4 would require
2025-11-26T05:30:23.7796120Z          │  └─ ros-noetic-urdfdom-py *, which cannot be installed because
2025-11-26T05:30:23.7797330Z       there are no viable options:
2025-11-26T05:30:23.7798340Z          │     ├─ ros-noetic-urdfdom-py 0.4.6 would require
2025-11-26T05:30:23.7799570Z          │     │  └─ urdfdom-py >=0.4.6,<0.5.0a0, for which no candidates were
2025-11-26T05:30:23.7800520Z       found.
2025-11-26T05:30:23.7801360Z          │     └─ ros-noetic-urdfdom-py 0.4.6 | 0.4.6 | 0.4.6 is excluded
2025-11-26T05:30:23.7802560Z       because due to strict channel priority not using this option from:
2025-11-26T05:30:23.7803900Z       'https://conda.anaconda.org/robostack-staging/'
2025-11-26T05:30:23.7805990Z          └─ ros-noetic-srdfdom 0.6.3 | 0.6.4 | 0.6.4 | 0.6.4 | 0.6.4 is
2025-11-26T05:30:23.7807990Z       excluded because due to strict channel priority not using this option
2025-11-26T05:30:23.7809540Z       from: 'https://conda.anaconda.org/robostack-staging/'

I don't yet understand how to deal with this - version 0.6.4 is in https://github.com/traversaro/ros-noetic/blob/5202c9adfc9fb1c8e8c5d3ca5bb2a9094d6b4dec/rosdistro_snapshot.yaml#L8322C1-L8325C17

But we don't have that version in conda-forge.

I think I did an error here. The 0.4.6 vs 1.2.1 removed some ROS 1 related functionality (see ros/urdf_parser_py@0.4.6...1.2.1) so I think we wither package the 0.4.6 in conda-forge, or actually do not unvendor it in ROS 1 Noetic (probably the easier option).

@traversaro
Copy link
Member Author

@traversaro - I have a feeling we've seen this Windows error before somewhere, but I can't recall the fix. Can you remember?

2025-11-14T05:25:31.4512058Z  │ │ × error File "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\ros-noetic-diff-drive-controllermD3GMX\\Library\\include\\diff_drive_controller\\DiffDriveControllerConfig.h" contains the prefix with both forward- and backslashes. This is not supported and can lead to issues.

This issue still persists on Windows - any clue @traversaro?

I do not remember ever seeing this error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants