gnumeric FTBFS on ppc64el: GNM_const initializer element is not constant
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnumeric (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Missing build on ppc64el due to:
In file included from ./mathfunc.h:4,
mathfunc.c: At top level:
./mathfunc.h:21:31: error: initializer element is not constant
21 | #define M_LN2gnum GNM_const(
| ^~~~~~~
./numbers.h:109:25: note: in definition of macro ‘GNM_const’
109 | #define GNM_const(_c) _c ## L
| ^~
mathfunc.c:1130:35: note: in expansion of macro ‘M_LN2gnum’
1130 | static const gnm_float M_cutoff = M_LN2gnum * GNM_MAX_EXP / GNM_EPSILON;
...
Debian also fails to build on this architecture, for what looks like the same problem:
The error message is a bit generic, just means the C pre-processor is unhappy with the number and does not recognize it as a valid constant (one that can be stored in static memory).
The real issue here is expressing long double numbers on the ppc64el architecture. There have been other instances of this problem, such as debian bugs #849945 and #946836. These discuss a number of different approaches to the problem that may be worth considering as a long term solution.
This has just now become an issue for gnumeric due to the new Debian change in 1.12.53-1, "Pass "--with-
description: | updated |
description: | updated |
I've verified in a PPA that the current version fails to build, and dropping "--with- long-double" allows it to build ok:
https:/ /launchpad. net/~bryce/ +archive/ ubuntu/ gnumeric- fix-lp1991706