Details
-
Bug
-
Resolution: Cannot Reproduce
-
P3: Somewhat important
-
None
-
dev
-
None
Description
Qt dev compiled with -DFEATURE_no_direct_extern_access=ON.
The static library abstractviewer inside the example is not getting the required options for compiling:
[1/22] cd /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app && /usr/bin/cmake -E cmake_autogen /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app/CMakeFiles/abstractviewer_autogen.dir/AutogenInfo.json "" && /usr/bin/cmake -E touch /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app/abstractviewer_autogen/timestamp && /usr/bin/cmake -E cmake_transform_depfile Ninja gccdepfile /home/tjmaciei/src/qt/qt6/qtdoc/examples/demos/documentviewer /home/tjmaciei/src/qt/qt6/qtdoc/examples/demos/documentviewer/app /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app/abstractviewer_autogen/deps /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/CMakeFiles/d/7637e2ee1775488c1587094917ebf431be91fdb0213934be538c39903d8c7160.d [2/22] /home/tjmaciei/bin/c++ -DQT_CORE_LIB -DQT_DOCUMENTVIEWER_PRINTSUPPORT -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -I/home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app/abstractviewer_autogen/include -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtCore -isystem /home/tjmaciei/obj/qt/qt6/qtbase/mkspecs/linux-g++-optimised -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtGui -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtWidgets -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtPrintSupport -mno-direct-extern-access -MD -MT app/CMakeFiles/abstractviewer.dir/abstractviewer_autogen/mocs_compilation.cpp.o -MF app/CMakeFiles/abstractviewer.dir/abstractviewer_autogen/mocs_compilation.cpp.o.d -o app/CMakeFiles/abstractviewer.dir/abstractviewer_autogen/mocs_compilation.cpp.o -c /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app/abstractviewer_autogen/mocs_compilation.cpp [3/22] /home/tjmaciei/bin/c++ -DQT_CORE_LIB -DQT_DOCUMENTVIEWER_PRINTSUPPORT -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -I/home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/app/abstractviewer_autogen/include -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtCore -isystem /home/tjmaciei/obj/qt/qt6/qtbase/mkspecs/linux-g++-optimised -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtGui -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtWidgets -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtPrintSupport -mno-direct-extern-access -MD -MT app/CMakeFiles/abstractviewer.dir/abstractviewer.cpp.o -MF app/CMakeFiles/abstractviewer.dir/abstractviewer.cpp.o.d -o app/CMakeFiles/abstractviewer.dir/abstractviewer.cpp.o -c /home/tjmaciei/src/qt/qt6/qtdoc/examples/demos/documentviewer/app/abstractviewer.cpp
Note the absence of either -fPIC and -mno-direct-extern-access. They are present when compiling the main application:
[7/22] /home/tjmaciei/bin/c++ -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DOCUMENTVIEWER_PRINTSUPPORT -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_PLUGIN -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -Djsonviewer_EXPORTS -I/home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/plugins/jsonviewer/jsonviewer_autogen/include -I/home/tjmaciei/src/qt/qt6/qtdoc/examples/demos/documentviewer/plugins/jsonviewer/../../app -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtCore -isystem /home/tjmaciei/obj/qt/qt6/qtbase/mkspecs/linux-g++-optimised -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtGui -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtWidgets -isystem /home/tjmaciei/obj/qt/qt6/qtbase/include/QtPrintSupport -fPIC -mno-direct-extern-access -MD -MT plugins/jsonviewer/CMakeFiles/jsonviewer.dir/jsonviewer_autogen/mocs_compilation.cpp.o -MF plugins/jsonviewer/CMakeFiles/jsonviewer.dir/jsonviewer_autogen/mocs_compilation.cpp.o.d -o plugins/jsonviewer/CMakeFiles/jsonviewer.dir/jsonviewer_autogen/mocs_compilation.cpp.o -c /home/tjmaciei/obj/qt/qt6/qtdoc/examples/demos/documentviewer/plugins/jsonviewer/jsonviewer_autogen/mocs_compilation.cpp
This absence results in a linking failure:
[2/12] Linking CXX shared module app/libtxtviewer.so FAILED: app/libtxtviewer.so : && /home/tjmaciei/bin/c++ -fPIC -shared -o app/libtxtviewer.so plugins/txtviewer/CMakeFiles/txtviewer.dir/txtviewer_autogen/mocs_compilation.cpp.o plugins/txtviewer/CMakeFiles/txtviewer.dir/txtviewer.cpp.o -Wl,-rpath,/home/tjmaciei/obj/qt/qt6/qtbase/lib app/libabstractviewer.a /home/tjmaciei/obj/qt/qt6/qtbase/lib/libQt6PrintSupport.t.so.6.7.0 /home/tjmaciei/obj/qt/qt6/qtbase/lib/libQt6Widgets.t.so.6.7.0 /home/tjmaciei/obj/qt/qt6/qtbase/lib/libQt6Gui.t.so.6.7.0 /usr/lib64/libGLX.so /usr/lib64/libOpenGL.so /home/tjmaciei/obj/qt/qt6/qtbase/lib/libQt6Core.t.so.6.7.0 -Wl,-rpath-link,/home/tjmaciei/obj/qt/qt6/qtbase/lib && : /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: app/libabstractviewer.a(mocs_compilation.cpp.o): relocation R_X86_64_32S against `.data.rel.ro.local' can not be used when making a shared object; recompile with -fPIC /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: failed to set dynamic section sizes: bad value collect2: error: ld returned 1 exit status
The error comes from a "mocs_compilation", so by definition it's code using QtCore. So why aren't the options being applied?
Attachments
Issue Links
- is required for
-
QTBUG-118754 assertObjectType is triggered with a correct signal/slot connection on macOS
-
- Closed
-