Bug 1811026 - openmeeg: FTBFS in Fedora rawhide/F33
Summary: openmeeg: FTBFS in Fedora rawhide/F33
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: openmeeg
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Antonio T. sagitter
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On: 1820131
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-03-06 13:01 UTC by Jitka Plesnikova
Modified: 2020-12-21 17:22 UTC (History)
3 users (show)

Fixed In Version: openmeeg-2.4.2-0.8.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-13 14:27:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jitka Plesnikova 2020-03-06 13:01:37 UTC
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

Comment 1 Théodore Papadopoulo 2020-04-02 09:27:06 UTC
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.

Comment 2 Théodore Papadopoulo 2020-04-02 09:28:33 UTC
The bug is corrected upstream with:
commit 51019feae1f65a22075c4d28efcabdbb35cd2c6f (openblas).
Could this be fixed, as the new openblas breaks all C++ uses ?

Comment 3 Théodore Papadopoulo 2020-04-02 09:31:06 UTC
And this affects all fedora versions in which openblas 3.9 has been deployed (not only rawhide).

Comment 4 Ankur Sinha (FranciscoD) 2020-04-02 10:07:04 UTC
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.

Comment 5 Ankur Sinha (FranciscoD) 2020-04-02 10:08:03 UTC
(If 0.3.9 includes the fix, then do we need a simple rebuild here?)

Comment 6 Théodore Papadopoulo 2020-04-02 10:24:28 UTC
I was expecting that the openblas pacakgers will notice it, but I will open a bug as you asked.

Comment 7 Théodore Papadopoulo 2020-04-02 10:25:55 UTC
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).

Comment 8 Théodore Papadopoulo 2020-04-02 10:38:07 UTC
Opened a bug againt openblas: 1820131

Comment 9 Ankur Sinha (FranciscoD) 2020-04-02 10:52:07 UTC
Ah, no, they won't get notifications from this one. Thanks very much. I'll add a dependency on that bug too.

Comment 10 Fedora Admin user for bugzilla script actions 2020-05-25 14:53:33 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.

Comment 11 Fedora Admin user for bugzilla script actions 2020-05-26 14:56:15 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.

Comment 12 Ben Cotton 2020-08-11 13:12:58 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 13 Ankur Sinha (FranciscoD) 2020-09-13 14:27:09 UTC
This should be fixed now. I see an update stable already for F33. Please re-open if needed.


Note You need to log in before you can comment on or make changes to this bug.