Compilation failed: qtwidgets-5.9.2

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Compilation failed: qtwidgets-5.9.2

tuxic
Hi,

compilation of qtwidgets failed.
Is there a dependency currently missing in the ebuild?


x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -fuse-ld=gold -Wl,--enable-new-dtags -shared -o libqgtk3.so .obj/main.o .obj/qgtk3dialoghelpers.o .obj/qgtk3menu.o .obj/qgtk3theme.o .obj/moc_qgtk3dialoghelpers.o .obj/moc_qgtk3menu.o  -lQt5ThemeSupport -lQt5Gui -lQt5Core -lGL -lpthread -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXext -lX11 -lm
.obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformMenuBar() const'
.obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformSystemTrayIcon() const'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function ResourceHelper::clear(): error: undefined reference to 'operator delete(void*, unsigned long)'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function ResourceHelper::clear(): error: undefined reference to 'operator delete(void*, unsigned long)'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function QtMetaTypePrivate::IteratorOwnerCommon<QList<QSize>::const_iterator>::destroy(void**): error: undefined reference to 'operator delete(void*, unsigned long)'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function QGnomeThemePrivate::~QGnomeThemePrivate(): error: undefined reference to 'operator delete(void*, unsigned long)'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:138: ../../../../plugins/platformthemes/libqgtk3.so] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/src/plugins/platformthemes/gtk3'
make: *** [Makefile:45: sub-gtk3-make_first] Error 2
 * ERROR: dev-qt/qtwidgets-5.9.2::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=dev-qt/qtwidgets-5.9.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtwidgets-5.9.2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/src/plugins/platformthemes'
 * S: '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2'

Cheers
Meino



Reply | Threaded
Open this post in threaded view
|

Re: Compilation failed: qtwidgets-5.9.2

David Haller-5
Hello,

On Sun, 08 Oct 2017, [hidden email] wrote:
>compilation of qtwidgets failed.
>Is there a dependency currently missing in the ebuild?

Nope. Broken code from upstream. The usual thinking: "nobody will
compile stuff without dbus". But I do. And you seem to as well. I
guess it's actually dev-qt/qtgui with "-dbus" useflag.

>x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -fuse-ld=gold -Wl,--enable-new-dtags -shared -o libqgtk3.so .obj/main.o .obj/qgtk3dialoghelpers.o .obj/qgtk3menu.o .obj/qgtk3theme.o .obj/moc_qgtk3dialoghelpers.o .obj/moc_qgtk3menu.o  -lQt5ThemeSupport -lQt5Gui -lQt5Core -lGL -lpthread -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXext -lX11 -lm
>.obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformMenuBar() const'
>.obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformSystemTrayIcon() const'
[..]

There's some #ifdefs lacking around that stuff, as the code where
e.g. 'QGnomeTheme::createPlatformMenuBar' is implemented, is inside
#ifndef QT_NO_DBUS.

Easy way out if you're not depend on gtk-themes in Qt:

    USE="-gtk" emerge dev-qt/qtwidgets

(and/or put that useflag in /etc/portage/package.use)

Actually, 5.6.2 had a 'gtkstyle' useflag and no "*gtk*" is in
the 5.7.1.ebuild.

Also, it'll probably work if you reemerge dev-qt/qtgui with "dbus"
useflag.

HTH,
-dnh

--
"Microsoft admitted its Vista operating system was a 'less good
product' in what IT experts have described as the most ambitious
understatement since the captain of the Titanic reported some
slightly damp tablecloths." http://www.thedailymash.co.uk/

Reply | Threaded
Open this post in threaded view
|

Re: Compilation failed: qtwidgets-5.9.2

Michael Palimaka
In reply to this post by tuxic
Hi,

Thanks for testing 5.9.2, it's definitely appreciated. I'm sorry you ran
into a build failure.

On 10/08/2017 08:28 PM, [hidden email] wrote:

> Hi,
>
> compilation of qtwidgets failed.
> Is there a dependency currently missing in the ebuild?
>
>
> x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -fuse-ld=gold -Wl,--enable-new-dtags -shared -o libqgtk3.so .obj/main.o .obj/qgtk3dialoghelpers.o .obj/qgtk3menu.o .obj/qgtk3theme.o .obj/moc_qgtk3dialoghelpers.o .obj/moc_qgtk3menu.o  -lQt5ThemeSupport -lQt5Gui -lQt5Core -lGL -lpthread -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXext -lX11 -lm
> .obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformMenuBar() const'
> .obj/qgtk3theme.o:qgtk3theme.cpp:vtable for QGtk3Theme: error: undefined reference to 'QGnomeTheme::createPlatformSystemTrayIcon() const'
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function ResourceHelper::clear(): error: undefined reference to 'operator delete(void*, unsigned long)'
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function ResourceHelper::clear(): error: undefined reference to 'operator delete(void*, unsigned long)'
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function QtMetaTypePrivate::IteratorOwnerCommon<QList<QSize>::const_iterator>::destroy(void**): error: undefined reference to 'operator delete(void*, unsigned long)'
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libQt5ThemeSupport.a(qgenericunixthemes.o):function QGnomeThemePrivate::~QGnomeThemePrivate(): error: undefined reference to 'operator delete(void*, unsigned long)'
> collect2: error: ld returned 1 exit status
> make[1]: *** [Makefile:138: ../../../../plugins/platformthemes/libqgtk3.so] Error 1
> make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/src/plugins/platformthemes/gtk3'
> make: *** [Makefile:45: sub-gtk3-make_first] Error 2
>  * ERROR: dev-qt/qtwidgets-5.9.2::gentoo failed (compile phase):
>  *   emake failed
>  *
>  * If you need support, post the output of `emerge --info '=dev-qt/qtwidgets-5.9.2::gentoo'`,
>  * the complete build log and the output of `emerge -pqv '=dev-qt/qtwidgets-5.9.2::gentoo'`.
>  * The complete build log is located at '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/temp/build.log'.
>  * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/temp/environment'.
>  * Working directory: '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2/src/plugins/platformthemes'
>  * S: '/var/tmp/portage/dev-qt/qtwidgets-5.9.2/work/qtbase-opensource-src-5.9.2'
>
> Cheers
> Meino

Please consider filing a bug at https://bugs.gentoo.org/ with emerge
--info and the full build log attached. That way, we can track the issue
better and ensure it doesn't get forgotten.

Kind regards,

Michael