-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
6.0.0 Beta3
-
None
I am trying to disable as many SIMD instructions as possible in order to analyze Qt with the least amount of errors from Clang Static Analyzer. My configure flags are:
-no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-avx512
QtBase links and installs fine.
QtSvg fails to link:
[15/33] Linking CXX shared library lib/libQt6Svg.so.6.0.0 FAILED: lib/libQt6Svg.so.6.0.0 : && /usr/bin/clang++-11 -fPIC -g -Wl,--no-undefined -shared -Wl,-soname,libQt6Svg.so.6 -o lib/libQt6Svg.so.6.0.0 src/svg/CMakeFiles/Svg.dir/Svg_autogen/mocs_compilation.cpp.o src> /usr/bin/ld: src/svg/CMakeFiles/Svg.dir/qsvghandler.cpp.o: in function `parseBaseGradient(QSvgNode*, QXmlStreamAttributes const&, QSvgGradientStyle*, QSvgHandler*)': /home/cc-runs/src/qt/qt5/qtsvg/build/../src/svg/qsvghandler.cpp:2863: undefined reference to `QGradient::setStops(QList<std::pair<double, QColor> > const&)' /usr/bin/ld: src/svg/CMakeFiles/Svg.dir/qsvghandler.cpp.o: in function `parseStopNode(QSvgStyleProperty*, QXmlStreamAttributes const&, QSvgHandler*)': /home/cc-runs/src/qt/qt5/qtsvg/build/../src/svg/qsvghandler.cpp:3215: undefined reference to `QGradient::setStops(QList<std::pair<double, QColor> > const&)' /usr/bin/ld: src/svg/CMakeFiles/Svg.dir/qsvgstyle.cpp.o: in function `QSvgGradientStyle::brush(QPainter*, QSvgExtraStates&)': /home/cc-runs/src/qt/qt5/qtsvg/build/../src/svg/qsvgstyle.cpp:429: undefined reference to `QGradient::setStops(QList<std::pair<double, QColor> > const&)' /usr/bin/ld: src/svg/CMakeFiles/Svg.dir/qsvgstyle.cpp.o: in function `QSvgGradientStyle::resolveStops_helper(QList<QString>*)': /home/cc-runs/src/qt/qt5/qtsvg/build/../src/svg/qsvgstyle.cpp:970: undefined reference to `QGradient::setStops(QList<std::pair<double, QColor> > const&)' clang: error: linker command failed with exit code 1 (use -v to see invocation)
QtDeclarative also fails to link:
[305/885] Linking CXX shared library lib/libQt6Qml.so.6.0.0 FAILED: lib/libQt6Qml.so.6.0.0 : && /usr/bin/clang++-11 -fPIC -g -Wl,--no-undefined -shared -Wl,-soname,libQt6Qml.so.6 -o lib/libQt6Qml.so.6.0.0 src/qml/CMakeFiles/Qml.dir/Qml_autogen/mocs_compilation.cpp.o src> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerConverter<QJSValue, QMap<QString, QVariant>, QMap<QString, QVariant> (*)(QJS> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerConverter<QJSValue, QList<QVariant>, QList<QVariant> (*)(QJSValue const&)>(Q> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerConverter<QJSValue, QList<QString>, QList<QString> (*)(QJSValue const&)>(QLi> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerConverter<QJSValue, QSequentialIterable, QSequentialIterable (*)(QJSValue co> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerConverter<QList<int>, QIterable<QMetaSequence>, QtPrivate::QSequentialIterab> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerMutableView<QList<int>, QIterable<QMetaSequence>, QtPrivate::QSequentialIter> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerConverter<QList<QObject*>, QIterable<QMetaSequence>, QtPrivate::QSequentialI> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4engine.cpp.o: in function `bool QMetaType::registerMutableView<QList<QObject*>, QIterable<QMetaSequence>, QtPrivate::QSequentia> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerConverter<std::vector<int, std::allocator<int> >, QIterable<QMetaSeq> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerMutableView<std::vector<int, std::allocator<int> >, QIterable<QMetaS> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerConverter<std::vector<double, std::allocator<double> >, QIterable<QM> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerMutableView<std::vector<double, std::allocator<double> >, QIterable<> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerConverter<std::vector<bool, std::allocator<bool> >, QIterable<QMetaS> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerMutableView<std::vector<bool, std::allocator<bool> >, QIterable<QMet> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerConverter<std::vector<QString, std::allocator<QString> >, QIterable<> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerMutableView<std::vector<QString, std::allocator<QString> >, QIterabl> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerConverter<std::vector<QUrl, std::allocator<QUrl> >, QIterable<QMetaS> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerMutableView<std::vector<QUrl, std::allocator<QUrl> >, QIterable<QMet> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerConverter<std::vector<QModelIndex, std::allocator<QModelIndex> >, QI> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4qobjectwrapper.cpp.o: in function `bool QMetaType::registerMutableView<std::vector<QModelIndex, std::allocator<QModelIndex> >, > /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlbinding.cpp.o: in function `bool QMetaType::registerConverter<QList<QUrl>, QIterable<QMetaSequence>, QtPrivate::QSequentialIterableC> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlbinding.cpp.o: in function `bool QMetaType::registerMutableView<QList<QUrl>, QIterable<QMetaSequence>, QtPrivate::QSequentialIterabl> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlobjectcreator.cpp.o: in function `bool QMetaType::registerConverter<QList<double>, QIterable<QMetaSequence>, QtPrivate::QSequentialI> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlobjectcreator.cpp.o: in function `bool QMetaType::registerMutableView<QList<double>, QIterable<QMetaSequence>, QtPrivate::QSequentia> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlobjectcreator.cpp.o: in function `bool QMetaType::registerConverter<QList<bool>, QIterable<QMetaSequence>, QtPrivate::QSequentialIte> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlobjectcreator.cpp.o: in function `bool QMetaType::registerMutableView<QList<bool>, QIterable<QMetaSequence>, QtPrivate::QSequentialI> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlvmemetaobject.cpp.o: in function `bool QMetaType::registerConverter<QList<QQmlGuard<QObject> >, QIterable<QMetaSequence>, QtPrivate:> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/qml/qqmlvmemetaobject.cpp.o: in function `bool QMetaType::registerMutableView<QList<QQmlGuard<QObject> >, QIterable<QMetaSequence>, QtPrivat> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/debugger/qqmlprofiler.cpp.o: in function `bool QMetaType::registerConverter<QHash<unsigned long long, QQmlProfiler::Location>, QIterable<QMe> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/debugger/qqmlprofiler.cpp.o: in function `bool QMetaType::registerMutableView<QHash<unsigned long long, QQmlProfiler::Location>, QIterable<Q> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4profiling.cpp.o: in function `bool QMetaType::registerConverter<QHash<unsigned long long, QV4::Profiling::FunctionLocation>, QI> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4profiling.cpp.o: in function `bool QMetaType::registerMutableView<QHash<unsigned long long, QV4::Profiling::FunctionLocation>, > /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4sequenceobject.cpp.o: in function `bool QMetaType::registerConverter<QList<QModelIndex>, QIterable<QMetaSequence>, QtPrivate::Q> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:568: undefined reference to `QMetaType::registerConverterFunction(std::function<bool (void const*, void*)> const&, QMetaType, Q> /usr/bin/ld: src/qml/CMakeFiles/Qml.dir/jsruntime/qv4sequenceobject.cpp.o: in function `bool QMetaType::registerMutableView<QList<QModelIndex>, QIterable<QMetaSequence>, QtPrivate:> /home/cc-runs/install_dir/include/QtCore/qmetatype.h:586: undefined reference to `QMetaType::registerMutableViewFunction(std::function<bool (void*, void*)> const&, QMetaType, QMeta> clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is this a known issue? What would be the minimum set of SIMD instruction sets to build Qt with?
NOTE: I'm not 100% sure that all errors here are caused by my SIMD flags (especially the qtdeclarative ones might simply be dependency version incompatibility, since I build all libraries at HEAD).
- resulted in
-
QTBUG-88416 qt-configure-module does not use CMAKE_CXX_FLAGS from qtbase's configure
-
- Reported
-