Description of problem: Package openmeeg fails to build from source in Fedora rawhide. cd /builddir/build/BUILD/openmeeg-2.4.2/build/OpenMEEGMaths && /usr/bin/c++ -DHAVE_BLAS -DHAVE_LAPACK -DOpenMEEGMaths_EXPORTS -DUSE_OPENBLAS -I/builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/include -I/usr/include/openblas -I/builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/MATIO::MATIO -I/builddir/build/BUILD/openmeeg-2.4.2/build/OpenMEEGMaths -I/builddir/build/BUILD/openmeeg-2.4.2/build -I/builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/OpenMEEGMaths/src -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DNDEBUG -fPIC -std=gnu++11 -o CMakeFiles/OpenMEEGMaths.dir/src/utils.cpp.o -c /builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/src/utils.cpp In file included from /usr/include/c++/10/bits/stringfwd.h:40, from /usr/include/c++/10/iosfwd:39, from /usr/include/c++/10/ios:38, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/openblas/lapack.h:58, from /usr/include/openblas/lapacke.h:37, from /builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/include/BlasLapackImplementations/OpenMEEGMathsOpenBLASConfig.h:10, from /builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/include/OpenMEEGMathsConfig.h:87, from /builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/include/RC.H:5, from /builddir/build/BUILD/openmeeg-2.4.2/OpenMEEGMaths/src/utils.cpp:40: /usr/include/c++/10/bits/memoryfwd.h:63:3: error: template with C linkage 63 | template<typename> | ^~~~~~~~ Steps to Reproduce: koji build --scratch f33 openmeeg-2.4.2-0.2.fc32.src.rpm Dependency changes from the latest successful build: https://koschei.fedoraproject.org/build/7980529 Additional info: This package is tracked by Koschei. See: https://koschei.fedoraproject.org/package/openmeeg
For reference, this is actually a openblas 3.9 problem with C++. https://github.com/openmeeg/openmeeg/issues/411 To summarize: Confirmed it's a bug in openblas/lapack.h which does: `#ifdef __cplusplus extern "C" { #endif [....] #ifndef LAPACK_COMPLEX_CUSTOM /* Complex type (single precision) */ #ifndef lapack_complex_float #ifndef __cplusplus #include <complex.h> #else #include <complex> #endif #define lapack_complex_float float _Complex ` As you can see, openblas includes the C++ <complex> header in an extern "C" section. So this is an openblas 3.9 problem.
The bug is corrected upstream with: commit 51019feae1f65a22075c4d28efcabdbb35cd2c6f (openblas). Could this be fixed, as the new openblas breaks all C++ uses ?
And this affects all fedora versions in which openblas 3.9 has been deployed (not only rawhide).
Hi Theodore: thanks for looking into this. I don't see a bug filed against openblas, but it seems to have been updated to 0.3.9 a month ago: https://src.fedoraproject.org/rpms/openblas Has them updating to 0.3.9 not fixed this? If not, I think that's where the fix should go, right? Could you please file a bug there and list this one (and others that are affected) as being blocked by it? That would indicate the urgency of the situation to the openblas maintainers.
(If 0.3.9 includes the fix, then do we need a simple rebuild here?)
I was expecting that the openblas pacakgers will notice it, but I will open a bug as you asked.
No the bug correction is not in the release of openblas 3.9.0. It's in their git (so in a future release of openblas).
Opened a bug againt openblas: 1820131
Ah, no, they won't get notifications from this one. Thanks very much. I'll add a dependency on that bug too.
This package has changed maintainer in the Fedora. Reassigning to the new maintainer of this component.
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle. Changing version to 33.
This should be fixed now. I see an update stable already for F33. Please re-open if needed.