Skip to content

Conversation

@traversaro
Copy link
Member

@traversaro traversaro commented Oct 3, 2025

@traversaro
Copy link
Member Author

See conda-forge/eigen-feedstock#47 (comment) . We can skip PCL for now.

@traversaro
Copy link
Member Author

Ok, this is easy to fix:

CMake Error at cmake/OsqpEigenDependencies.cmake:14 (find_package):
  Could not find a configuration file for package "Eigen3" that is compatible
  with requested version "3.2.92".

  The following configuration files were considered but not accepted:

    /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/eigen3/cmake/Eigen3Config.cmake, version: 5.0.0

Call Stack (most recent call first):

@traversaro
Copy link
Member Author

Ok, this is easy to fix:

CMake Error at cmake/OsqpEigenDependencies.cmake:14 (find_package):
  Could not find a configuration file for package "Eigen3" that is compatible
  with requested version "3.2.92".

  The following configuration files were considered but not accepted:

    /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/eigen3/cmake/Eigen3Config.cmake, version: 5.0.0

Call Stack (most recent call first):

https://github.com/search?q=org%3Aami-iit%203.2.92&type=code 26 projects affected : (

@traversaro
Copy link
Member Author

The problem affects also manif:

2025-10-05T17:49:41.1459171Z [78/432] Performing configure step for 'manif'
2025-10-05T17:49:41.1460796Z FAILED: [code=1] src/manif/CMakeFiles/YCMStamp/manif-configure /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMStamp/manif-configure 
2025-10-05T17:49:41.1468176Z cd /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif && /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/cmake --no-warn-unused-cli "-DCMAKE_PREFIX_PATH:PATH=/home/runner/work/robotology-superbuild/robotology-superbuild/.build/install;/home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default;/home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/x86_64-conda-linux-gnu/sysroot/usr" -DCMAKE_DISABLE_FIND_PACKAGE_PCL:BOOL=ON -DCMAKE_LINKER_TYPE:PATH=MOLD -DCMAKE_CXX_STANDARD=17 -DBUILD_TESTING:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_PYTHON_BINDINGS:BOOL=ON -DMANIFPY_PKGDIR:PATH=/home/runner/work/robotology-superbuild/robotology-superbuild/.build/install/lib/python3.11/site-packages -GNinja -C/home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMTmp/manif-cache-Release.cmake -S /home/runner/work/robotology-superbuild/robotology-superbuild/src/manif -B /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif && /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/cmake -E touch /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMStamp/manif-configure
2025-10-05T17:49:41.1474595Z Not searching for unused variables given on the command line.
2025-10-05T17:49:41.1476143Z loading initial cache file /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMTmp/manif-cache-Release.cmake
2025-10-05T17:49:41.1477392Z CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
2025-10-05T17:49:41.1478106Z   Compatibility with CMake < 3.10 will be removed from a future version of
2025-10-05T17:49:41.1478644Z   CMake.
2025-10-05T17:49:41.1478780Z 
2025-10-05T17:49:41.1479053Z   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
2025-10-05T17:49:41.1479746Z   to tell CMake that the project requires at least <min> but has been updated
2025-10-05T17:49:41.1480346Z   to work with policies introduced by <max> or earlier.
2025-10-05T17:49:41.1480686Z 
2025-10-05T17:49:41.1480691Z 
2025-10-05T17:49:41.1480863Z -- The CXX compiler identification is GNU 13.3.0
2025-10-05T17:49:41.1481313Z -- Detecting CXX compiler ABI info
2025-10-05T17:49:41.1481722Z -- Detecting CXX compiler ABI info - done
2025-10-05T17:49:41.1483015Z -- Check for working CXX compiler: /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/x86_64-conda-linux-gnu-c++ - skipped
2025-10-05T17:49:41.1484134Z -- Detecting CXX compile features
2025-10-05T17:49:41.1484531Z -- Detecting CXX compile features - done
2025-10-05T17:49:41.1484975Z -- Performing Test COMPILER_SUPPORTS_CXX11
2025-10-05T17:49:41.1485456Z -- Performing Test COMPILER_SUPPORTS_CXX11 - Success
2025-10-05T17:49:41.1486809Z -- The compiler /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/x86_64-conda-linux-gnu-c++ has C++11 support.
2025-10-05T17:49:41.1488605Z -- Eigen3 version .. found in /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/include/eigen3, but at least version 2.91.0 is required
2025-10-05T17:49:41.1490584Z CMake Error at /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
2025-10-05T17:49:41.1492019Z   Could NOT find Eigen3 (missing: EIGEN3_VERSION_OK) (Required is at least
2025-10-05T17:49:41.1492565Z   version "2.91.0")
2025-10-05T17:49:41.1493038Z Call Stack (most recent call first):
2025-10-05T17:49:41.1494244Z   /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:591 (_FPHSA_FAILURE_MESSAGE)
2025-10-05T17:49:41.1495774Z   cmake/modules/FindEigen3.cmake:96 (find_package_handle_standard_args)
2025-10-05T17:49:41.1496353Z   CMakeLists.txt:32 (find_package)

@traversaro
Copy link
Member Author

traversaro commented Oct 6, 2025

Now casadi is failing:

2025-10-06T08:12:31.5257864Z FC 
2025-10-06T08:12:31.5258283Z CC /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/x86_64-conda-linux-gnu-cc
2025-10-06T08:12:31.5259242Z -- Found PythonInterp: /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/python3 (found suitable version "3.11.13", minimum required is "3")
2025-10-06T08:12:31.5259981Z -- x86_64 architecture detected - setting flag -fPIC
2025-10-06T08:12:31.5260245Z -- Found TINYXML: 1
2025-10-06T08:12:31.5260855Z -- Eigen3 version .. found in /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/include/eigen3, but at least version 2.91.0 is required
2025-10-06T08:12:31.5261989Z CMake Error at /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
2025-10-06T08:12:31.5262780Z   Could NOT find Eigen3 (missing: EIGEN3_VERSION_OK) (Required is at least
2025-10-06T08:12:31.5263097Z   version "2.91.0")
2025-10-06T08:12:31.5263289Z Call Stack (most recent call first):
2025-10-06T08:12:31.5264006Z   /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:591 (_FPHSA_FAILURE_MESSAGE)
2025-10-06T08:12:31.5264797Z   cmake/FindEigen3.cmake:84 (find_package_handle_standard_args)
2025-10-06T08:12:31.5265523Z   /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
2025-10-06T08:12:31.5266748Z   /home/runner/work/robotology-superbuild/robotology-superbuild/.build/install/lib/cmake/proxsuite/proxsuiteConfig.cmake:144 (find_dependency)
2025-10-06T08:12:31.5267969Z   /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
2025-10-06T08:12:31.5268647Z   cmake/FindPROXQP.cmake:3 (find_dependency)
2025-10-06T08:12:31.5268906Z   CMakeLists.txt:1044 (find_package)

https://github.com/casadi/casadi/blob/aa46f563b55017a2c4e16829164491d117c75a0a/cmake/FindEigen3.cmake#L4 needs either to be updated or removed (it is probably not useful anymore as all the Eigen3 installation I am aware of ship a Eigen3Config.cmake file).

@traversaro
Copy link
Member Author

The problem affects also manif:

2025-10-05T17:49:41.1459171Z [78/432] Performing configure step for 'manif'
2025-10-05T17:49:41.1460796Z FAILED: [code=1] src/manif/CMakeFiles/YCMStamp/manif-configure /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMStamp/manif-configure 
2025-10-05T17:49:41.1468176Z cd /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif && /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/cmake --no-warn-unused-cli "-DCMAKE_PREFIX_PATH:PATH=/home/runner/work/robotology-superbuild/robotology-superbuild/.build/install;/home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default;/home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/x86_64-conda-linux-gnu/sysroot/usr" -DCMAKE_DISABLE_FIND_PACKAGE_PCL:BOOL=ON -DCMAKE_LINKER_TYPE:PATH=MOLD -DCMAKE_CXX_STANDARD=17 -DBUILD_TESTING:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_PYTHON_BINDINGS:BOOL=ON -DMANIFPY_PKGDIR:PATH=/home/runner/work/robotology-superbuild/robotology-superbuild/.build/install/lib/python3.11/site-packages -GNinja -C/home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMTmp/manif-cache-Release.cmake -S /home/runner/work/robotology-superbuild/robotology-superbuild/src/manif -B /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif && /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/cmake -E touch /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMStamp/manif-configure
2025-10-05T17:49:41.1474595Z Not searching for unused variables given on the command line.
2025-10-05T17:49:41.1476143Z loading initial cache file /home/runner/work/robotology-superbuild/robotology-superbuild/.build/src/manif/CMakeFiles/YCMTmp/manif-cache-Release.cmake
2025-10-05T17:49:41.1477392Z CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
2025-10-05T17:49:41.1478106Z   Compatibility with CMake < 3.10 will be removed from a future version of
2025-10-05T17:49:41.1478644Z   CMake.
2025-10-05T17:49:41.1478780Z 
2025-10-05T17:49:41.1479053Z   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
2025-10-05T17:49:41.1479746Z   to tell CMake that the project requires at least <min> but has been updated
2025-10-05T17:49:41.1480346Z   to work with policies introduced by <max> or earlier.
2025-10-05T17:49:41.1480686Z 
2025-10-05T17:49:41.1480691Z 
2025-10-05T17:49:41.1480863Z -- The CXX compiler identification is GNU 13.3.0
2025-10-05T17:49:41.1481313Z -- Detecting CXX compiler ABI info
2025-10-05T17:49:41.1481722Z -- Detecting CXX compiler ABI info - done
2025-10-05T17:49:41.1483015Z -- Check for working CXX compiler: /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/x86_64-conda-linux-gnu-c++ - skipped
2025-10-05T17:49:41.1484134Z -- Detecting CXX compile features
2025-10-05T17:49:41.1484531Z -- Detecting CXX compile features - done
2025-10-05T17:49:41.1484975Z -- Performing Test COMPILER_SUPPORTS_CXX11
2025-10-05T17:49:41.1485456Z -- Performing Test COMPILER_SUPPORTS_CXX11 - Success
2025-10-05T17:49:41.1486809Z -- The compiler /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/bin/x86_64-conda-linux-gnu-c++ has C++11 support.
2025-10-05T17:49:41.1488605Z -- Eigen3 version .. found in /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/include/eigen3, but at least version 2.91.0 is required
2025-10-05T17:49:41.1490584Z CMake Error at /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:227 (message):
2025-10-05T17:49:41.1492019Z   Could NOT find Eigen3 (missing: EIGEN3_VERSION_OK) (Required is at least
2025-10-05T17:49:41.1492565Z   version "2.91.0")
2025-10-05T17:49:41.1493038Z Call Stack (most recent call first):
2025-10-05T17:49:41.1494244Z   /home/runner/work/robotology-superbuild/robotology-superbuild/.pixi/envs/default/share/cmake-4.0/Modules/FindPackageHandleStandardArgs.cmake:591 (_FPHSA_FAILURE_MESSAGE)
2025-10-05T17:49:41.1495774Z   cmake/modules/FindEigen3.cmake:96 (find_package_handle_standard_args)
2025-10-05T17:49:41.1496353Z   CMakeLists.txt:32 (find_package)

Fix proposed upstream in artivis/manif#335 .

@traversaro
Copy link
Member Author

After almost reaching the leaf of the dependency tree, we finally reached an actually code incompatibility:

/home/traversaro/robotology-superbuild/src/HumanDynamicsEstimation/HumanDynamicsEstimationLibrary/algorithms/src/InverseVelocityKinematics.cpp: In member function 'bool hde::algorithms::InverseVelocityKinematics::impl::solveInverseDifferentialKinematics(const iDynTree::MatrixDynSize&, const iDynTree::VectorDynSize&, iDynTree::VectorDynSize&, const iDynTree::VectorDynSize&, const iDynTree::MatrixDynSize&)':
/home/traversaro/robotology-superbuild/src/HumanDynamicsEstimation/HumanDynamicsEstimationLibrary/algorithms/src/InverseVelocityKinematics.cpp:416:24: warning: 'Eigen::BDCSVD<typename Eigen::DenseBase<Derived>::PlainObject, Options> Eigen::MatrixBase<Derived>::bdcSvd(unsigned int) const [with int Options = 0; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Product<Eigen::Product<Eigen::Transpose<Eigen::Map<const Eigen::Matrix<double, -1, -1, 1> > >, Eigen::Matrix<double, -1, -1>, 0>, Eigen::Map<const Eigen::Matrix<double, -1, -1, 1> >, 0>, const Eigen::Map<const Eigen::Matrix<double, -1, -1, 1> > >; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1, 1>]' is deprecated: Options should be specified using method's template parameter. [-Wdeprecated-declarations]
  413 |             (iDynTree::toEigen(matrix).transpose() * weightInverse.toDenseMatrix()
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  414 |                  * iDynTree::toEigen(matrix)
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  415 |              + iDynTree::toEigen(regularizationMatrix))
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  416 |                 .bdcSvd(Eigen::ComputeFullU | Eigen::ComputeFullV)
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/traversaro/robotology-superbuild/.pixi/envs/default/include/eigen3/Eigen/SVD:40,
                 from /home/traversaro/robotology-superbuild/.pixi/envs/default/include/eigen3/Eigen/Dense:5,
                 from /home/traversaro/robotology-superbuild/.build/install/include/OsqpEigen/Data.hpp:12,
                 from /home/traversaro/robotology-superbuild/.build/install/include/OsqpEigen/OsqpEigen.h:11,
                 from /home/traversaro/robotology-superbuild/src/HumanDynamicsEstimation/HumanDynamicsEstimationLibrary/algorithms/src/InverseVelocityKinematics.cpp:9:
/home/traversaro/robotology-superbuild/.pixi/envs/default/include/eigen3/Eigen/src/SVD/BDCSVD.h:1463:60: note: declared here
 1463 | BDCSVD<typename MatrixBase<Derived>::PlainObject, Options> MatrixBase<Derived>::bdcSvd(
      |                                                            ^~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
ninja: build stopped: subcommand failed.

@traversaro
Copy link
Member Author

After almost reaching the leaf of the dependency tree, we finally reached an actually code incompatibility:

/home/traversaro/robotology-superbuild/src/HumanDynamicsEstimation/HumanDynamicsEstimationLibrary/algorithms/src/InverseVelocityKinematics.cpp: In member function 'bool hde::algorithms::InverseVelocityKinematics::impl::solveInverseDifferentialKinematics(const iDynTree::MatrixDynSize&, const iDynTree::VectorDynSize&, iDynTree::VectorDynSize&, const iDynTree::VectorDynSize&, const iDynTree::MatrixDynSize&)':
/home/traversaro/robotology-superbuild/src/HumanDynamicsEstimation/HumanDynamicsEstimationLibrary/algorithms/src/InverseVelocityKinematics.cpp:416:24: warning: 'Eigen::BDCSVD<typename Eigen::DenseBase<Derived>::PlainObject, Options> Eigen::MatrixBase<Derived>::bdcSvd(unsigned int) const [with int Options = 0; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::Product<Eigen::Product<Eigen::Transpose<Eigen::Map<const Eigen::Matrix<double, -1, -1, 1> > >, Eigen::Matrix<double, -1, -1>, 0>, Eigen::Map<const Eigen::Matrix<double, -1, -1, 1> >, 0>, const Eigen::Map<const Eigen::Matrix<double, -1, -1, 1> > >; typename Eigen::DenseBase<Derived>::PlainObject = Eigen::Matrix<double, -1, -1, 1>]' is deprecated: Options should be specified using method's template parameter. [-Wdeprecated-declarations]
  413 |             (iDynTree::toEigen(matrix).transpose() * weightInverse.toDenseMatrix()
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  414 |                  * iDynTree::toEigen(matrix)
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  415 |              + iDynTree::toEigen(regularizationMatrix))
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  416 |                 .bdcSvd(Eigen::ComputeFullU | Eigen::ComputeFullV)
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/traversaro/robotology-superbuild/.pixi/envs/default/include/eigen3/Eigen/SVD:40,
                 from /home/traversaro/robotology-superbuild/.pixi/envs/default/include/eigen3/Eigen/Dense:5,
                 from /home/traversaro/robotology-superbuild/.build/install/include/OsqpEigen/Data.hpp:12,
                 from /home/traversaro/robotology-superbuild/.build/install/include/OsqpEigen/OsqpEigen.h:11,
                 from /home/traversaro/robotology-superbuild/src/HumanDynamicsEstimation/HumanDynamicsEstimationLibrary/algorithms/src/InverseVelocityKinematics.cpp:9:
/home/traversaro/robotology-superbuild/.pixi/envs/default/include/eigen3/Eigen/src/SVD/BDCSVD.h:1463:60: note: declared here
 1463 | BDCSVD<typename MatrixBase<Derived>::PlainObject, Options> MatrixBase<Derived>::bdcSvd(
      |                                                            ^~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
ninja: build stopped: subcommand failed.

Related to https://gitlab.com/libeigen/eigen/-/merge_requests/826/diffs#10a394f8d6cafac3a0b5c595a09e93071cf661f4 .

@traversaro
Copy link
Member Author

Ok, all the fixes were merged in all the repos we mantain, so we need to:

  • Do new releases
  • Create local tags on our forks of manif and casadi to use those in latestreleases

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