GNOME Bugzilla – Bug 141281
glib 1.2 doesn't build on GCC 3.4: incorrect usage of __PRETTY_FUNCTION__
Last modified: 2004-12-22 21:47:04 UTC
Glib 1.2 uses __PRETTY_FUNCTION__ from gcc in a way that is not compatible with GCC 3.4 > g_warning (G_GNUC_PRETTY_FUNCTION > "(): unable to handle positional parameters (%%n$)"); glib.h : > #ifdef __GNUC__ > #define G_GNUC_FUNCTION __FUNCTION__ > #define G_GNUC_PRETTY_FUNCTION __PRETTY_FUNCTION__ > #else /* !__GNUC__ */ > #define G_GNUC_FUNCTION "" > #define G_GNUC_PRETTY_FUNCTION "" > #endif /* !__GNUC__ */ The info pages of GCC 3.4 state: " These identifiers are not preprocessor macros. In GCC 3.3 and earlier, in C only, `__FUNCTION__' and `__PRETTY_FUNCTION__' were treated as string literals; they could be used to initialize `char' arrays, and they could be concatenated with other string literals. GCC 3.4 and later treat them as variables, like `__func__'. In C++, `__FUNCTION__' and `__PRETTY_FUNCTION__' have always been variables. " see http://cvs.openpkg.org/chngview?cn=16208 for a possible fix.
No further releases of GLib-1.2 are planned; I think you might find a patch for glib-1,2 for this in the Red Hat RPM.