=dev-libs/glib-2.16* fails to compile with -DG_DISABLE_ASSERT. /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -pthread -march=athlon64 -msse3 -pipe -O2 -fomit-frame-pointer -DG_DISABLE_ASSERT -Wall -MT ghash.lo -MD -MP -MF .deps/ghash.Tpo -c -o ghash.lo ghash.c i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DG_LOG_DOMAIN=\"GLib\" -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION -DPCRE_STATIC -pthread -march=athlon64 -msse3 -pipe -O2 -fomit-frame-pointer -DG_DISABLE_ASSERT -Wall -MT ghash.lo -MD -MP -MF .deps/ghash.Tpo -c ghash.c -fPIC -DPIC -o .libs/ghash.o ghash.c: In function 'IA__g_hash_table_iter_next': ghash.c:425: error: 'GHashTable' has no member named 'version' ghash.c: In function 'iter_remove_or_steal': ghash.c:487: error: 'GHashTable' has no member named 'version' make[4]: *** [ghash.lo] Error 1 glib/ghash.c contains: <snip> struct _GHashTable { gint size; gint nnodes; GHashNode **nodes; GHashFunc hash_func; GEqualFunc key_equal_func; volatile gint ref_count; #ifndef G_DISABLE_ASSERT /* * Tracks the structure of the hash table, not its contents: is only * incremented when a node is added or removed (is not incremented * when the key or data of a node is modified). */ int version; #endif GDestroyNotify key_destroy_func; GDestroyNotify value_destroy_func; }; typedef struct { GHashTable *hash_table; GHashNode *prev_node; GHashNode *node; int position; gboolean pre_advanced; int version; } RealIter; </snip> G_DISABLE_ASSERT is supported by upstream developers, but they forgot to additionally place 2 lines inside '#ifndef G_DISABLE_ASSERT' and '#endif'. $ cd /var/tmp/portage/dev-libs/glib-2.16.1/work/glib-2.16.1 $ grep -r '#ifndef G_DISABLE_ASSERT' . | wc -l 11 $
Created attachment 147667 [details, diff] glib-2.16.1-G_DISABLE_ASSERT.patch
Created attachment 147669 [details, diff] glib-2.16.1.ebuild.patch
fill a bug upstream and attach you patch their. I think it will interest them.
http://svn.gnome.org/viewvc/glib?view=revision&revision=6777 http://svn.gnome.org/viewvc/glib?view=revision&revision=6778
So, it's fixed in 2.16.2, right ? (Consider this 0-day bump request)
oh noes, god killed a kitten because of you...
The world has too many kitten anyway. Fixed in 2.16.2