uplifted glib.h ordering problem for LSB <5.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lsb |
Fix Committed
|
Medium
|
Unassigned | ||
Mandriva |
Fix Released
|
Medium
|
Bug Description
A build targeting LSB=4.1 set up this way:
export LSBCC_LSBVERSIO
found problems building against the uplifted glib.h.
Lines 2416 and 2621 reported "field 'mutex' has incomplete type", both are
structure members declared as:
This is apparently an ordering problem, at line 1879 we see:
#if __LSB_VERSION__ < 50
typedef struct _GMutex GMutex;
typedef struct _GStaticMutex GStaticMutex;
#endif /* __LSB_VERSION__ < 5.0 */
but the definition of _GStaticMutex does not come until line 2711:
#if __LSB_VERSION__ < 50
struct _GStaticMutex {
struct _GMutex *runtime_mutex;
union {
char pad[GLIB_
double dummy_double;
void *dummy_pointer;
long int dummy_long;
} static_mutex;
};
#endif /* __LSB_VERSION__ < 5.0 */
that is, after the two uses that cause the compiler error messages. Manually
moving this definition up higher in the header clears the problem.
Changed in mandriva: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |