pybind/pybind11

[BUG]: pybind11 broken with the default gcc on ubuntu-trusty, linuxmint-17

Closed this issue · 2 comments

Required prerequisites

Problem description

In the SageMath 9.5 development series we have just upgraded to pybind11 2.7.1 and have noticed that building scipy 1.6.3 now fails with the default compilers on the platforms linuxmint-17 (gcc 4.8.4-2ubuntu1~14.04.3) and ubuntu-trusty (gcc 4.8.4-2ubuntu1~14.04.4). pybind11's README still claims "GCC 4.8 or newer" is supported, so this seems to be a regression.

Likely caused by #2956 . The complicated condition for __GLIBCXX__,

#if defined(__GLIBCXX__) && (__GLIBCXX__ < 20150422 || __GLIBCXX__ == 20150623 || __GLIBCXX__ == 20150626 || __GLIBCXX__ == 20160803)

not fully explained in that PR, misses the value on the two failing platforms, which is 20150426.

Looks like the pybind11 CI does not catch this -- you test centos-7, which uses gcc 4.8.5 (__GLIBCXX__ = 20150623), which works.

Tracked in https://trac.sagemath.org/ticket/32515

Reproducible example code

No response

Proposed fix in #3270

Closed by #3270