Skip to content

Change how version requirement for Eigen3 package is enforced#2107

Merged
jslee02 merged 2 commits intodartsim:mainfrom
traversaro:patch-15
Nov 4, 2025
Merged

Change how version requirement for Eigen3 package is enforced#2107
jslee02 merged 2 commits intodartsim:mainfrom
traversaro:patch-15

Conversation

@traversaro
Copy link
Contributor

@traversaro traversaro commented Nov 4, 2025

Eigen3 5.0.0 was released some time ago, and now it is start being used in package managers, see Homebrew/homebrew-core#246477 and conda-forge/eigen-feedstock#47 .

As Eigen3 is not released with version 5.0.0, and the CMake version config considers version to be compatible if they have the same major version, requiring Eigen3 3.4.0 does not work with Eigen3 5.0.0, so we can't pass the version directly to the find_package anymore. See https://gitlab.com/libeigen/eigen/-/issues/2972 and PointCloudLibrary/pcl#6354 .

Before creating a pull request

  • Run pixi run test-all to lint, build, and test your changes
  • Add unit tests for new functionality
  • Document new methods and classes
  • Add Python bindings (dartpy) if applicable

For compatibility with Eigen3 5.0.0.

Signed-off-by: Silvio Traversaro <silvio@traversaro.it>
@traversaro traversaro changed the title Remove version requirement for Eigen3 package Change how version requirement for Eigen3 package is enforced Nov 4, 2025
@traversaro
Copy link
Contributor Author

Given that Eigen3 3.4.0 was released ~4 years ago, we can also considering dropping the version check: https://repology.org/project/eigen/versions .

@jslee02 jslee02 enabled auto-merge (squash) November 4, 2025 15:42
@jslee02
Copy link
Member

jslee02 commented Nov 4, 2025

Good to know that Eigen3 5.0.0 was released!

Given that Eigen3 3.4.0 was released ~4 years ago, we can also considering dropping the version check: https://repology.org/project/eigen/versions .

Currently, the policy is to support Ubuntu 22.04 LTS (at least two LTS versions), so we might still need to support 3.4: https://packages.ubuntu.com/search?suite=all&section=all&arch=any&keywords=eigen&searchon=names

@traversaro
Copy link
Contributor Author

Given that Eigen3 3.4.0 was released ~4 years ago, we can also considering dropping the version check: https://repology.org/project/eigen/versions .

Currently, the policy is to support Ubuntu 22.04 LTS (at least two LTS versions), so we might still need to support 3.4: https://packages.ubuntu.com/search?suite=all&section=all&arch=any&keywords=eigen&searchon=names

Sure (Eigen 3.4 for now is also the one available in conda-forge), I was suggesting to drop the check:

if (Eigen3_VERSION VERSION_LESS 3.4)
  message(FATAL_ERROR "Eigen version>=3.4 is required, but found ${Eigen3_VERSION}")
endif()

as the possibility of users using Eigen 3.3.* is quite low at this point, and dropping that if should work fine on Ubuntu 22.04 LTS .

@jslee02
Copy link
Member

jslee02 commented Nov 4, 2025

Ah, makes sense, but let's keep it just for sure :)

@codecov
Copy link

codecov bot commented Nov 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@c14375a). Learn more about missing BASE report.
⚠️ Report is 379 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2107   +/-   ##
=======================================
  Coverage        ?   61.48%           
=======================================
  Files           ?      393           
  Lines           ?    33144           
  Branches        ?     4083           
=======================================
  Hits            ?    20379           
  Misses          ?    12765           
  Partials        ?        0           
Flag Coverage Δ
unittests 61.48% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jslee02 jslee02 merged commit bb558d1 into dartsim:main Nov 4, 2025
18 checks passed
scpeters pushed a commit to scpeters/dart that referenced this pull request Nov 5, 2025
…m#2107)

Signed-off-by: Silvio Traversaro <silvio@traversaro.it>
@jslee02 jslee02 added this to the DART 7.0 milestone Nov 10, 2025
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.

2 participants