| Summary: | OpenEXR FTBFS against glibc-2.24.90+ | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Luya Tshimbalanga <luya> |
| Component: | ilmbase | Assignee: | Rex Dieter <rdieter> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | fweimer, kwizart, rdieter |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-10-16 15:03:16 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Luya Tshimbalanga
2016-10-11 02:00:03 UTC
Out of curiosity, why do you think this is not a glibc bug? Some of the errors, include:
/usr/include/OpenEXR/ImathFun.h:135:1: error: 'Imath_2_2::iszero' declared as an 'inline' variable
iszero (T a, T t)
^~~~~~
/usr/include/OpenEXR/ImathFun.h:137:5: error: expected primary-expression before 'return'
return (IMATH_INTERNAL_NAMESPACE::abs (a) <= t) ? 1 : 0;
^~~~~~
/usr/include/OpenEXR/ImathFun.h:137:5: error: expected '}' before 'return'
/usr/include/OpenEXR/ImathFun.h:137:5: error: expected ';' before 'return'
/usr/include/OpenEXR/ImathFun.h: In function 'bool finitef(float)':
/usr/include/OpenEXR/ImathFun.h:249:1: error: ambiguating new declaration of 'bool finitef(float)'
finitef (float f)
/usr/include/OpenEXR/ImathFun.h: In function 'bool finited(double)':
/usr/include/OpenEXR/ImathFun.h:260:22: error: 'Int64' does not name a type
union {double d; Int64 i;} u;
^~~~~
/usr/include/OpenEXR/ImathFun.h:263:15: error: 'union finited(double)::<anonymous>' has no member named 'i'
return (u.i & 0x7ff0000000000000LL) != 0x7ff0000000000000LL;
^
/usr/include/OpenEXR/ImathFun.h: At global scope:
/usr/include/OpenEXR/ImathFun.h:267:1: error: expected declaration before '}' token
IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
^
something definitely going bad there, but my guess would be a simple rebuild won't help this (can't hurt to try though)
Not surprising, rebuild failed with similar errors, https://koji.fedoraproject.org/koji/taskinfo?taskID=16048818 it would appear that at leaset some glibc math-related functions changed behavior adjusting summary I guess this is namespace pollution from glibc macros. As workarounds, you can try: #undef iszero or replacing iszero with (iszero) to avoid the function-like macro expansion. The later errors are probably collateral damage from the parse errors caused by the accidental macro expansion. Trying minimalistic (iszero) approach first... (and fyi, the offending header is in ilmbase, a dependency of OpenEXR) %changelog * Sun Oct 16 2016 Rex Dieter <rdieter> - 2.2.0-6 - workaround glibc iszero macro (#1383552) glibc-2.24.90-12.fc26 (available in a couple of hours) should no longer need the workaround. |