Skip to content

[BUG]: does not work with Eigen 5 #6034

@e-kwsm

Description

@e-kwsm

Required prerequisites

What version (or hash if on master) of pybind11 are you using?

98e50b7

Problem description

Eigen 5 was released on 30th Sep 2025 https://gitlab.com/libeigen/eigen/-/releases/5.0.0.

The following macros are no longer available:

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match
"${_eigen3_version_header}")
set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match
"${_eigen3_version_header}")
set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match
"${_eigen3_version_header}")
set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}")

namely version detection fails.

Reproducible example code

$ cmake -S . -B build
…
-- Eigen3 version .. found in /usr/include/eigen3, but at least version 3.2.7 is required
-- Building tests WITHOUT Eigen, use -DDOWNLOAD_EIGEN=ON to download
…

Is this a regression? Put the last known working version here if it is.

Not a regression

Metadata

Metadata

Assignees

Labels

triageNew bug, unverified

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions