Skip to content

Full Rebuild March 2025: bump ros2-distro-mutex to 0.8.0, build_number to 5 and switch Python to 3.12 #38

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 34 commits into from
Apr 14, 2025

Conversation

wep21
Copy link
Contributor

@wep21 wep21 commented Mar 23, 2025

No description provided.

@wep21 wep21 marked this pull request as draft March 23, 2025 07:15
@wep21
Copy link
Contributor Author

wep21 commented Mar 24, 2025

@traversaro I'm struggling with rebuilding qt-gui-cpp, so I appreciate it if you could take a look at it when you have time.

@traversaro
Copy link
Member

@traversaro I'm struggling with rebuilding qt-gui-cpp, so I appreciate it if you could take a look at it when you have time.

qt-gui-cpp has always been a tough one, I will take a look! In the meanwhile, can you report on which platforms and which failures are you seeing?

@wep21
Copy link
Contributor Author

wep21 commented Mar 26, 2025

@traversaro

qt-gui-cpp has always been a tough one, I will take a look! In the meanwhile, can you report on which platforms and which failures are you seeing?

This may cause only in my environement. CI is passing somehow. Could you take a look at windows ci failure?

@traversaro
Copy link
Member

@traversaro

qt-gui-cpp has always been a tough one, I will take a look! In the meanwhile, can you report on which platforms and which failures are you seeing?

This may cause only in my environement. CI is passing somehow. Could you take a look at windows ci failure?

The error is:

 │ │ -- Found TinyXML2 via Config file: %PREFIX%/Library/lib/cmake/tinyxml2
 │ │ -- Found joint_limits: 4.27.0 (%PREFIX%/Library/share/joint_limits/cmake)
 │ │ -- Found pal_statistics: 2.6.2 (%PREFIX%/Library/share/pal_statistics/cmake)
 │ │ CMake Error at %PREFIX%/Library/share/pal_statistics/cmake/ament_cmake_export_libraries-extras.cmake:48 (message):
 │ │ -- Configuring incomplete, errors occurred!
 │ │   Package 'pal_statistics' exports the library 'pal_statistics' which
 │ │   couldn't be found
 │ │ Call Stack (most recent call first):
 │ │   %PREFIX%/Library/share/pal_statistics/cmake/pal_statisticsConfig.cmake:41 (include)
 │ │   CMakeLists.txt:32 (find_package)
 │ │ %SRC_DIR%\build>if errorlevel 1 exit 1 

This sounds like pal_statistics does not export symbols, so a missing CMAKE_WINDOWS_EXPORT_SYMBOLS or similar.

@traversaro
Copy link
Member

By the way @wep21 thanks a lot for tackling this. There are a few migrations (opencv, vtk and pcl) mainly that I would also like to add here, is that a problem for you?

@wep21
Copy link
Contributor Author

wep21 commented Mar 26, 2025

By the way @wep21 thanks a lot for tackling this. There are a few migrations (opencv, vtk and pcl) mainly that I would also like to add here, is that a problem for you?

@traversaro No problem. Please add them into this PR :)

@wep21 wep21 marked this pull request as ready for review March 27, 2025 08:34
@wep21
Copy link
Contributor Author

wep21 commented Mar 27, 2025

@traversaro CI reaches it's limit. Could you investigate windows build further more in your local environment?

@traversaro
Copy link
Member

traversaro commented Mar 27, 2025

@traversaro CI reaches it's limit. Could you investigate windows build further more in your local environment?

Great, just after 4 days of the PR being open (it sounds sarcastic but it actually is unbelievably fast w.r.t. to the past). The situation is improving. I will look into building Windows locally, thanks! If the failures are related to patches, anyhow it may be faster to look into RoboStack/robostack.github.io#72 .

@traversaro
Copy link
Member

I am not sure, but I suspect we may need to constrain cmake to be < 4.0.0 after conda-forge/cmake-feedstock#236 .

@wep21
Copy link
Contributor Author

wep21 commented Mar 28, 2025

@traversaro @Tobias-Fischer Is it ok to bump python version in this PR?
RoboStack/robostack.github.io#76

@Tobias-Fischer
Copy link
Contributor

Yes fine with me

@traversaro
Copy link
Member

Fine for me!

@traversaro
Copy link
Member

I am not sure, but I suspect we may need to constrain cmake to be < 4.0.0 after conda-forge/cmake-feedstock#236 .

Indeed, we see related failures:

2025-03-29T04:11:30.6457052Z  │ │ [5/9] Performing configure step for 'ogre_vendor'
2025-03-29T04:11:30.6460359Z  │ │ FAILED: ogre_vendor-prefix/src/ogre_vendor-stamp/ogre_vendor-configure $SRC_DIR/build/ogre_vendor-prefix/src/ogre_vendor-stamp/ogre_vendor-configure 
2025-03-29T04:11:30.6463498Z  │ │ cd $SRC_DIR/build/ogre_vendor-prefix/src/ogre_vendor-build && $BUILD_PREFIX/bin/cmake -C$SRC_DIR/build/ogre_vendor-config.cmake -G Ninja -DCMAKE_STAGING_PR
2025-03-29T04:11:30.6465302Z  │ │ EFIX=$SRC_DIR/build/ogre_vendor-prefix/install -DCMAKE_INSTALL_PREFIX=$PREFIX/opt/rviz_ogre_vendor -Wno-dev -DOGRE_STATIC:BOOL=OFF -DOGRE_INSTALL_PDB:BOOL=
2025-03-29T04:11:30.6467058Z  │ │ OFF -DOGRE_BUILD_DEPENDENCIES:BOOL=OFF -DOGRE_BUILD_TESTS:BOOL=OFF -DOGRE_BUILD_SAMPLES:BOOL=FALSE -DOGRE_INSTALL_SAMPLES:BOOL=FALSE -DOGRE_INSTALL_SAMPLES
2025-03-29T04:11:30.6469145Z  │ │ _SOURCE:BOOL=FALSE -DOGRE_CONFIG_THREADS:STRING=0 -DOGRE_RESOURCEMANAGER_STRICT:STRING=2 -DOGRE_BUILD_LIBS_AS_FRAMEWORKS:BOOL=OFF -DOGRE_BUILD_COMPONENT_PY
2025-03-29T04:11:30.6471046Z  │ │ THON:BOOL=FALSE -DOGRE_BUILD_COMPONENT_JAVA:BOOL=FALSE -DOGRE_BUILD_COMPONENT_CSHARP:BOOL=FALSE -DOGRE_BUILD_COMPONENT_BITES:BOOL=FALSE -DOGRE_BUILD_PLUGIN
2025-03-29T04:11:30.6472756Z  │ │ _DOT_SCENE:BOOL=FALSE -DOGRE_BUILD_TOOLS:BOOL=FALSE -DOGRE_CONFIG_ENABLE_ZIP:BOOL=ON -DOGRE_BUILD_RENDERSYSTEM_GL:BOOL=TRUE -DOGRE_BUILD_RENDERSYSTEM_D3D11
2025-03-29T04:11:30.6474492Z  │ │ :BOOL=OFF -DOGRE_BUILD_RENDERSYSTEM_D3D9:BOOL=OFF -DCMAKE_POLICY_DEFAULT_CMP0074=NEW "-DCMAKE_CXX_FLAGS=-Wno-stringop-overflow -Wno-array-compare -Wno-dang
2025-03-29T04:11:30.6476333Z  │ │ ling-pointer -Wno-format-overflow -Wno-maybe-uninitialized -Wno-misleading-indentation -Wno-undef -Wno-range-loop-construct -Wno-mismatched-new-delete -Wno
2025-03-29T04:11:30.6478435Z  │ │ -deprecated-declarations -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-p
2025-03-29T04:11:30.6480325Z  │ │ lt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-jazzy-rviz-ogre-vendor-14.1.7 -fdebug-prefix
2025-03-29T04:11:30.6482101Z  │ │ -map=$PREFIX=/usr/local/src/conda-prefix -D__STDC_FORMAT_MACROS=1" -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -GNinja -S $SRC_DIR/build/ogre_vendor-prefix/src/ogre
2025-03-29T04:11:30.6483921Z  │ │ _vendor -B $SRC_DIR/build/ogre_vendor-prefix/src/ogre_vendor-build && $BUILD_PREFIX/bin/cmake -E touch $SRC_DIR/build/ogre_vendor-prefix/src/ogre_vendor-st
2025-03-29T04:11:30.6484962Z  │ │ amp/ogre_vendor-configure
2025-03-29T04:11:30.6485578Z  │ │ loading initial cache file $SRC_DIR/build/ogre_vendor-config.cmake
2025-03-29T04:11:30.6486325Z  │ │ CMake Error at CMakeLists.txt:17 (cmake_minimum_required):
2025-03-29T04:11:30.6487032Z  │ │   Compatibility with CMake < 3.5 has been removed from CMake.
2025-03-29T04:11:30.6488022Z  │ │   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
2025-03-29T04:11:30.6488873Z  │ │   to tell CMake that the project requires at least <min> but has been updated
2025-03-29T04:11:30.6489589Z  │ │   to work with policies introduced by <max> or earlier.
2025-03-29T04:11:30.6490402Z  │ │   Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
2025-03-29T04:11:30.6495800Z  │ │ -- Configuring incomplete, errors occurred!
2025-03-29T04:11:30.6498532Z  │ │ ninja: build stopped: subcommand failed.
2025-03-29T04:11:30.6501414Z  │ │ × error Script failed with status 1
2025-03-29T04:11:30.6504407Z  │ │ × error Work directory: '/home/runner/work/ros-jazzy/ros-jazzy/output/bld/rattler-build_ros-jazzy-rviz-ogre-vendor_1743219494/work'
2025-03-29T04:11:30.6507302Z  │ │ × error To debug the build, run it manually in the work directory (execute the `./conda_build.sh` or `conda_build.bat` script)

@traversaro
Copy link
Member

To ensure that cmake used by rattler-build is lower then 4, we need to specify that in the conda_build_config.yaml

@wep21
Copy link
Contributor Author

wep21 commented Apr 3, 2025

@traversaro seems to need the rebuild for gz libraries with protobuf 5.29.3, how can I do that?

@wep21
Copy link
Contributor Author

wep21 commented Apr 3, 2025

latest gz_common -> gdal -> tiledb -> libgoogle-cloud requires protobuf 5.29.3

@traversaro
Copy link
Member

@traversaro seems to need the rebuild for gz libraries with protobuf 5.29.3, how can I do that?

Sorry, that was my fault, the 5.29.3 protobuf migration was stale due to me, see conda-forge/gz-msgs-feedstock#59 . I plan to unblock that today.

@wep21
Copy link
Contributor Author

wep21 commented Apr 3, 2025

@traversaro gz fuel tools still depends on protobuf 5.28.3. Is there any way to create PR to update protobuf version pin or we should update it manually?

@traversaro
Copy link
Member

@traversaro gz fuel tools still depends on protobuf 5.28.3. Is there any way to create PR to update protobuf version pin or we should update it manually?

Sorry, what I meant with "unblock" is that merging that PR would unblock the migration process, but it does not automatically rebuild all gz packages, for that dedicated (automatica) PRs created by the bot are required. You can follow the migration on the conda-forge status page, see https://conda-forge.org/status/migration/?name=absl_grpc_proto .

@traversaro
Copy link
Member

@traversaro gz fuel tools still depends on protobuf 5.28.3. Is there any way to create PR to update protobuf version pin or we should update it manually?

Sorry, what I meant with "unblock" is that merging that PR would unblock the migration process, but it does not automatically rebuild all gz packages, for that dedicated (automatica) PRs created by the bot are required. You can follow the migration on the conda-forge status page, see https://conda-forge.org/status/migration/?name=absl_grpc_proto .

Sorry for the delay, with conda-forge/gz-launch-feedstock#62, conda-forge/gz-launch-feedstock#63 and conda-forge/gz-launch-feedstock#61 the migration of gz-* recipes to protobuf 5.29.3 is completed.

@traversaro
Copy link
Member

The osx-arm64 failure is related to the missing tinyxml2 11.0 migration of cppcheck, should be fixed once conda-forge/cppcheck-feedstock#101 is merged.

@wep21
Copy link
Contributor Author

wep21 commented Apr 7, 2025

@traversaro seems to back normal, could you review again?

@@ -6,9 +6,9 @@ conda_index:
- packages-ignore.yaml

# Reminder for next full rebuild, the next build number should be 4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please change this comment to should be 6 here and in the other vinca_* files?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Tobias-Fischer updated.

@Tobias-Fischer
Copy link
Contributor

Just one very minor change request from my side, otherwise I think this is ready to go. Thanks a lot for all this work @wep21 and @traversaro!

This was referenced Apr 8, 2025
@traversaro traversaro changed the title Full Rebuild March 2025: bump ros2-distro-mutex to 0.8.0 and build_number to 5 Full Rebuild March 2025: bump ros2-distro-mutex to 0.8.0, build_number to 5 and switch Python to 3.12 Apr 9, 2025
@traversaro
Copy link
Member

(I edited the title to advertise the switch to Python 3.12)

@wep21 wep21 requested a review from Tobias-Fischer April 10, 2025 16:50
Copy link
Contributor

@Tobias-Fischer Tobias-Fischer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - thanks a lot for your work on this @wep21, it's highly appreciated!!

@traversaro do you have any remaining comments? If not, feel free to merge.

@traversaro
Copy link
Member

Good for me, thanks!

@traversaro traversaro merged commit d8c4fcf into RoboStack:main Apr 14, 2025
3 of 5 checks passed
@wep21 wep21 deleted the rebuild-202503 branch April 14, 2025 05:21
@Tobias-Fischer
Copy link
Contributor

@traversaro - do you have any idea what's going on with the Windows build failure on main?

@MaximilianHoffmann
Copy link

Hi, thanks for getting the packaged ROS version for jazzy ready! Which Python version do you plan to support in about ~ 6 to 12 months time?

@Tobias-Fischer
Copy link
Contributor

Do you have any preference @MaximilianHoffmann? Also note it should be very straightforward these days to build for any Python version locally if needed.

@MaximilianHoffmann
Copy link

MaximilianHoffmann commented Apr 16, 2025

We are slowly moving to 3.13, but great if the build process is effortless!

@traversaro
Copy link
Member

We are slowly moving to 3.13, but great if the build process is effortless!

Just to understand, on which platforms are you interested? I may be wrong, but I have the feeling that persons that are interested on supporting multiple python versions are just interested in linux-64 platforms, but I would like to understand.

@MaximilianHoffmann
Copy link

Mainly linux-64, correct, but we have a couple of Windows machines.

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.

4 participants