FS#30563 - [qt] Broken designer in 4.8.2-2
Attached to Project:
Arch Linux
Opened by Paul Gideon Dann (giddie) - Friday, 06 July 2012, 10:21 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 30 July 2012, 08:57 GMT
Opened by Paul Gideon Dann (giddie) - Friday, 06 July 2012, 10:21 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 30 July 2012, 08:57 GMT
|
Details
Description:
Designer is broken because the Glib folks charged _GMutex from a struct to a union. See: http://www.qtforum.org/article/37809/error-union-tag-used-in-naming-struct-gmutex.html. I'm attaching a patch. Reproduce: Run designer, get backtrace: # designer Warning: option --plugin-path no longer exists. Warning: option --plugin-path no longer exists. [0x24f8928] main services discovery error: no suitable services discovery module *** glibc detected *** designer: free(): invalid next size (fast): 0x00000000027bdc50 *** ======= Backtrace: ========= /lib/libc.so.6(+0x784a6)[0x7f25e3c494a6] /usr/lib/libQtDesigner.so.4(_ZN18qdesigner_internal14WidgetDataBase21defaultPropertyValuesERK7QString+0x149) [0x7f25e5d96789] /usr/lib/libQtDesigner.so.4(_ZN18qdesigner_internal14WidgetDataBase25grabDefaultPropertyValuesEv+0x6c) [0x7f25e5d96aec] designer[0x42fc0f] designer[0x429b2d] designer[0x42a0e7] designer[0x4168f3] /lib/libc.so.6(__libc_start_main+0xf5)[0x7f25e3bf2725] designer[0x4169b1] ... Try to compile Qt, get: compiling wtf/gobject/GRefPtr.cpp 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] In file included from ./wtf/Platform.h:1217:0, from ./config.h:30, from wtf/gobject/GOwnPtr.cpp:19: wtf/gobject/GTypedefs.h:55:16: note: ‘struct _GMutex’ was previously declared here 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:58:7: error: ‘union’ tag used in naming ‘struct _GMutex’ [-fpermissive] In file included from ./wtf/Platform.h:1217:0, from ./config.h:30, from wtf/gobject/GOwnPtr.cpp:19: wtf/gobject/GTypedefs.h:55:16: note: ‘struct _GMutex’ was previously declared here In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34:0, from /usr/include/glib-2.0/glib.h:34, from wtf/gobject/GRefPtr.cpp:24: /usr/include/glib-2.0/glib/gthread.h:51:16: error: ‘union’ tag used in naming ‘struct _GMutex’ [-fpermissive] In file included from ./wtf/Platform.h:1217:0, from ./config.h:30, from wtf/gobject/GRefPtr.cpp:19: wtf/gobject/GTypedefs.h:55:16: note: ‘struct _GMutex’ was previously declared here In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34:0, from /usr/include/glib-2.0/glib.h:34, from wtf/gobject/GRefPtr.cpp:24: /usr/include/glib-2.0/glib/gthread.h:58:7: error: ‘union’ tag used in naming ‘struct _GMutex’ [-fpermissive] In file included from ./wtf/Platform.h:1217:0, from ./config.h:30, from wtf/gobject/GRefPtr.cpp:19: wtf/gobject/GTypedefs.h:55:16: note: ‘struct _GMutex’ was previously declared here make[2]: *** [.obj/release-static/GOwnPtr.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [.obj/release-static/GRefPtr.o] Error 1 make[2]: Leaving directory `/home/dannpg/In/qt/src/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/dannpg/In/qt/src/qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source' |
This task depends upon
Closed by Andrea Scarpino (BaSh)
Monday, 30 July 2012, 08:57 GMT
Reason for closing: Not a bug
Additional comments about closing: see comments
Monday, 30 July 2012, 08:57 GMT
Reason for closing: Not a bug
Additional comments about closing: see comments
compiling helpviewer_qwv.cpp
helpviewer_qwv.cpp:168:1: error: expected class-name before ‘{’ token
helpviewer_qwv.cpp:173:13: error: ‘QWebPage’ does not name a type
helpviewer_qwv.cpp:174:32: error: ‘WebAction’ has not been declared
helpviewer_qwv.cpp:176:42: error: ‘QWebFrame’ has not been declared
helpviewer_qwv.cpp:177:41: error: ‘NavigationType’ has not been declared
helpviewer_qwv.cpp: In constructor ‘HelpPage::HelpPage(QObject*)’:
helpviewer_qwv.cpp:189:7: error: class ‘HelpPage’ does not have any field named ‘QWebPage’
helpviewer_qwv.cpp: At global scope:
helpviewer_qwv.cpp:197:1: error: ‘QWebPage’ does not name a type
helpviewer_qwv.cpp:207:30: error: variable or field ‘triggerAction’ declared void
helpviewer_qwv.cpp:207:30: error: ‘WebAction’ was not declared in this scope
helpviewer_qwv.cpp:207:48: error: expected primary-expression before ‘bool’
make[4]: *** [.obj/release-shared/helpviewer_qwv.o] Error 1
make[4]: Leaving directory `/home/dannpg/In/qt/src/qt-everywhere-opensource-src-4.8.2/tools/assistant/tools/assistant'
make[3]: *** [sub-assistant-make_default-ordered] Error 2
make[3]: Leaving directory `/home/dannpg/In/qt/src/qt-everywhere-opensource-src-4.8.2/tools/assistant/tools'
make[2]: *** [sub-tools-make_default-ordered] Error 2
make[2]: Leaving directory `/home/dannpg/In/qt/src/qt-everywhere-opensource-src-4.8.2/tools/assistant'
make[1]: *** [sub-assistant-make_default-ordered] Error 2
make[1]: Leaving directory `/home/dannpg/In/qt/src/qt-everywhere-opensource-src-4.8.2/tools'
make: *** [sub-tools-make_default-ordered] Error 2
an intel card and I can't reproduce the crash. After compiling a debug package I found
that /usr/lib/libnvidia-tls.so.302.17 to be part of the backtrace.
Removing that single so fixed my problem.