The error message is following:
In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34:0, from /usr/include/glib-2.0/glib.h:34, from /usr/include/glib-2.0/gobject/gbinding.h:30, from /usr/include/glib-2.0/glib-object.h:25, from /usr/include/glib-2.0/gio/gioenums.h:30, from /usr/include/glib-2.0/gio/giotypes.h:30, from /usr/include/glib-2.0/gio/gio.h:28, from wtf/gobject/GOwnPtr.cpp:24: /usr/include/glib-2.0/glib/gthread.h:51:16: error: ‘union’ tag used in naming ‘struct _GMutex’ [-fpermissive] /usr/include/glib-2.0/glib/gthread.h:58:7: error: ‘union’ tag used in naming ‘struct _GMutex’ [-fpermissive] make[2]: *** [.obj/release-static/GOwnPtr.o] Error 1 make[2]: Leaving directory `/home/honza/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/JavaScriptCore' make[1]: *** [sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2 make[1]: Leaving directory `/home/honza/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source' make: *** [sub-webkit-make_default-ordered] Error 2
the reason is because of incompatibility between Qt 4.8.2 and glib-2.0.
The solution is described in this (not commited) bug fix:
Simply edit following file
Qt/src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h
and modify following line
55: typedef struct _GMutex GMutex;
to
55: typedef union _GMutex GMutex;
that’s it.
Leave a Reply