Am 12.06.2011 um 22:46 schrieb Stefan Hajnoczi:
From: Anthony Liguori <aligu...@us.ibm.com>
GLib is an extremely common library that has a portable thread
implementation
along with tons of other goodies.
GLib and GObject have a fantastic amount of infrastructure we can
leverage in
QEMU including an object oriented programming infrastructure.
GObject still doesn't build on Darwin/ppc64:
CC gboxed.lo
../../glib-2.28.8/gobject/gboxed.c: In function 'g_closure_get_type':
../../glib-2.28.8/gobject/gboxed.c:120: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:120: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:120: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:120: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_value_get_type':
../../glib-2.28.8/gobject/gboxed.c:121: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:121: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:121: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:121: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function
'g_value_array_get_type':
../../glib-2.28.8/gobject/gboxed.c:122: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:122: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:122: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:122: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_date_get_type':
../../glib-2.28.8/gobject/gboxed.c:123: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:123: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:123: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:123: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_gstring_get_type':
../../glib-2.28.8/gobject/gboxed.c:125: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:125: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:125: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:125: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_hash_table_get_type':
../../glib-2.28.8/gobject/gboxed.c:126: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:126: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:126: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:126: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_array_get_type':
../../glib-2.28.8/gobject/gboxed.c:127: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:127: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:127: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:127: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_ptr_array_get_type':
../../glib-2.28.8/gobject/gboxed.c:128: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:128: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:128: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:128: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_byte_array_get_type':
../../glib-2.28.8/gobject/gboxed.c:129: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:129: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:129: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:129: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_regex_get_type':
../../glib-2.28.8/gobject/gboxed.c:132: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:132: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:132: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:132: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function
'g_variant_type_get_gtype':
../../glib-2.28.8/gobject/gboxed.c:138: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:138: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:138: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:138: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_error_get_type':
../../glib-2.28.8/gobject/gboxed.c:141: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:141: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:141: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:141: error: incompatible type for
argument 3 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c: In function 'g_date_time_get_type':
../../glib-2.28.8/gobject/gboxed.c:143: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:143: warning: union cannot be made
transparent
../../glib-2.28.8/gobject/gboxed.c:143: error: incompatible type for
argument 2 of '_g_register_boxed'
../../glib-2.28.8/gobject/gboxed.c:143: error: incompatible type for
argument 3 of '_g_register_boxed'
make[4]: *** [gboxed.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
With both gcc 4.0.1 and 4.2.1, using CC="gcc -arch ppc64" CPPFLAGS="-
arch ppc64" and supplying GNU gettext and GNU libiconv (since it
chokes on the system iconv.h). No Google hit.
Any thoughts?
Andreas