[trojita] [Bug 358381] mingw Qt5: build failures via static plugins
https://bugs.kde.org/show_bug.cgi?id=358381 Jan Kundrát changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #6 from Jan Kundrát --- So this was actually caused by the Qt4 installation. Hint: [turbo-hipster@ci-el7-big-1 ~]$ grep -R QT_STATICPLUGIN /usr/i686-w64-mingw32/sys-root/mingw/include /usr/i686-w64-mingw32/sys-root/mingw/include/Qt/qplugin.h:#if defined(QT_STATICPLUGIN) /usr/i686-w64-mingw32/sys-root/mingw/include/QtCore/qplugin.h:#if defined(QT_STATICPLUGIN) /usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore/qplugin.h:#if defined(QT_STATICPLUGIN) [turbo-hipster@ci-el7-big-1 ~]$ rpm -qf /usr/i686-w64-mingw32/sys-root/mingw/include/Qt/qplugin.h mingw32-qt-4.8.6-8.el7.noarch Removing that package fixed the build problem. -- You are receiving this mail because: You are watching all bug changes.
[trojita] [Bug 358381] mingw Qt5: build failures via static plugins
https://bugs.kde.org/show_bug.cgi?id=358381 --- Comment #5 from Thomas Lübking --- /usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore/qplugin.h defines QT_MOC_EXPORT_PLUGIN depending on QT_STATICPLUGIN definition. I assume this happens in some other path (qt5/mkspecs/win32-g++ , include/qt5/QtWidgets , /include/qt5/QtGui) as well, but "corrected" (some windows speciality or similar) which is shadowed by the qplugin.h in QtCore. Alternatively "some" header in include/qt5/QtCore undefines QT_STATICPLUGIN (it should only show up in qplugin.h) -- You are receiving this mail because: You are watching all bug changes.
[trojita] [Bug 358381] mingw Qt5: build failures via static plugins
https://bugs.kde.org/show_bug.cgi?id=358381 --- Comment #4 from Jan Kundrát --- Comparing outputs of objdump on a native Linux system and on this mingw cross compilation, I'm getting some qt_static_plugin_* symbols in my Linux' ./CMakeFiles/trojita_plugin_AbookAddressbookPlugin.dir/trojita_plugin_AbookAddressbookPlugin_automoc.cpp.o, but when I take a look at mingw' ./CMakeFiles/trojita_plugin_AbookAddressbookPlugin.dir/trojita_plugin_AbookAddressbookPlugin_automoc.cpp.obj, there's nothing like that. Going further, the moc_AbookAddressbook.cpp on the broken mingw build indeed doesn't contain stuff like QT_PLUGIN_METADATA_SECTION or QT_MOC_EXPORT_PLUGIN. This is super-weird, given that it's invoked like this: Generating moc_AbookAddressbook.cpp /usr/i686-w64-mingw32/bin/qt5/moc -I/home/turbo-hipster/pwn-trojita/trojita/src -I/home/turbo-hipster/pwn-trojita/trojita/build -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5 -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore -I/usr/i686-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/win32-g++ -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtWidgets -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtGui -DQT_STATICPLUGIN -DBUILD_PLUGIN -DQT_CORE_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -o /home/turbo-hipster/pwn-trojita/trojita/build/moc_AbookAddressbook.cpp /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AbookAddressbook/AbookAddressbook.h More weird things -- stuff starts working once again when I remove this from the moc's invocation: -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore So, in other words, the following invocation of moc actually produces a usable result: /usr/i686-w64-mingw32/bin/qt5/moc -I/home/turbo-hipster/pwn-trojita/trojita/src -I/home/turbo-hipster/pwn-trojita/trojita/build -I/usr/i686-w64-mingw32/sys-root/mingw/include -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5 -I/usr/i686-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/win32-g++ -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtWidgets -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtGui -DQT_STATICPLUGIN -DBUILD_PLUGIN -DQT_CORE_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -o mgw-without-mgwqt5core /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AbookAddressbook/AbookAddressbook.h I double-checked this; if I leave that path in the moc's invocation, the resulting .cpp doesn't contain the static plugin data. When I kill it, the static plugin data are there. Time to sleep, I guess, because this doesn't make any sense. -- You are receiving this mail because: You are watching all bug changes.
[trojita] [Bug 358381] mingw Qt5: build failures via static plugins
https://bugs.kde.org/show_bug.cgi?id=358381 --- Comment #3 from Thomas Lübking --- It's supposed to be defined in trojita_plugin_AbookAddressbookPlugin.a, assuming there's no dynamic variant flying around and falsely being picked by the compiler: readelf -sW trojita_plugin_AbookAddressbookPlugin.a | grep trojita_plugin (just that this is probably no ELF file? ;-) -- You are receiving this mail because: You are watching all bug changes.
[trojita] [Bug 358381] mingw Qt5: build failures via static plugins
https://bugs.kde.org/show_bug.cgi?id=358381 --- Comment #2 from Jan Kundrát --- > Do you have "-DQT_STATICPLUGIN" on building > src/Plugins/AbookAddressbook/main.cpp? I think that yeah: [turbo-hipster@ci-el7-big-1 build]$ rm trojita_plugin_AbookAddressbookPlugin.a CMakeFiles/be.contacts.dir/src/Plugins/AbookAddressbook/main.cpp.obj Now some garbage, just for completeness, feel free to not read this: [turbo-hipster@ci-el7-big-1 build]$ make VERBOSE=1 be.contacts /usr/bin/cmake -H/home/turbo-hipster/pwn-trojita/trojita -B/home/turbo-hipster/pwn-trojita/trojita/build --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 be.contacts make[1]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' /usr/bin/cmake -H/home/turbo-hipster/pwn-trojita/trojita -B/home/turbo-hipster/pwn-trojita/trojita/build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles 7 make -f CMakeFiles/Makefile2 CMakeFiles/be.contacts.dir/all make[2]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' make -f CMakeFiles/be.contacts_automoc.dir/build.make CMakeFiles/be.contacts_automoc.dir/depend make[3]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' cd /home/turbo-hipster/pwn-trojita/trojita/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/turbo-hipster/pwn-trojita/trojita /home/turbo-hipster/pwn-trojita/trojita /home/turbo-hipster/pwn-trojita/trojita/build /home/turbo-hipster/pwn-trojita/trojita/build /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles/be.contacts_automoc.dir/DependInfo.cmake --color= make[3]: Leaving directory `/home/turbo-hipster/pwn-trojita/trojita/build' make -f CMakeFiles/be.contacts_automoc.dir/build.make CMakeFiles/be.contacts_automoc.dir/build make[3]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' /usr/bin/cmake -E cmake_progress_report /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles [ 0%] Automoc for target be.contacts /usr/bin/cmake -E cmake_automoc /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles/be.contacts_automoc.dir/ AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AbookAddressbook/main.cpp make[3]: Leaving directory `/home/turbo-hipster/pwn-trojita/trojita/build' /usr/bin/cmake -E cmake_progress_report /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles [ 0%] Built target be.contacts_automoc make -f CMakeFiles/Plugins_automoc.dir/build.make CMakeFiles/Plugins_automoc.dir/depend make[3]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' cd /home/turbo-hipster/pwn-trojita/trojita/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/turbo-hipster/pwn-trojita/trojita /home/turbo-hipster/pwn-trojita/trojita /home/turbo-hipster/pwn-trojita/trojita/build /home/turbo-hipster/pwn-trojita/trojita/build /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles/Plugins_automoc.dir/DependInfo.cmake --color= make[3]: Leaving directory `/home/turbo-hipster/pwn-trojita/trojita/build' make -f CMakeFiles/Plugins_automoc.dir/build.make CMakeFiles/Plugins_automoc.dir/build make[3]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' /usr/bin/cmake -E cmake_progress_report /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles [ 0%] Automoc for target Plugins /usr/bin/cmake -E cmake_automoc /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles/Plugins_automoc.dir/ AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AddressbookPlugin.cpp AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/PasswordPlugin.cpp AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/PluginJob.cpp AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/PluginManager.cpp AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AddressbookPlugin.h AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/PasswordPlugin.h AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/PluginJob.h AUTOMOC: Checking /home/turbo-hipster/pwn-trojita/trojita/src/Plugins/PluginManager.h make[3]: Leaving directory `/home/turbo-hipster/pwn-trojita/trojita/build' /usr/bin/cmake -E cmake_progress_report /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles [ 0%] Built target Plugins_automoc make -f CMakeFiles/Plugins.dir/build.make CMakeFiles/Plugins.dir/depend make[3]: Entering directory `/home/turbo-hipster/pwn-trojita/trojita/build' cd /home/turbo-hipster/pwn-trojita/trojita/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/turbo-hipster/pwn-trojita/trojita /home/turbo-hipster/pwn-trojita/trojita /home/turbo-hipster/pwn-trojita/trojita/build /home/turbo-hipster/pwn-trojita/trojita/build /home/turbo-hipster/pwn-trojita/trojita/build/CMakeFiles/Plugins.dir/DependInfo.cmake --color= make[3]: Leaving dire
[trojita] [Bug 358381] mingw Qt5: build failures via static plugins
https://bugs.kde.org/show_bug.cgi?id=358381 --- Comment #1 from Thomas Lübking --- Do you have "-DQT_STATICPLUGIN" on building src/Plugins/AbookAddressbook/main.cpp? (The next question would be whether it makes its path down) -- You are receiving this mail because: You are watching all bug changes.
