Details
-
Technical task
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
None
Description
When building for linux, the qdoc and lupdate binaries have a RUNPATH with full path to non Qt libraries. Typically for clang/llvm
$ chrpath /usr/lib/qt-android-6.3-host/bin/qdoc /usr/lib/qt-android-6.3-host/bin/qdoc: RUNPATH=$ORIGIN/../lib:/usr/lib/llvm-11/lib
Not sure whether this is normal or not, but the debian lintian checker reports such an error custom-library-search-path See: https://lintian.debian.org/tags/custom-library-search-path
Build command for these binaries is
[4120/5399] : && /usr/lib/ccache/c++ -g -O2 -ffile-prefix-map=/builds/bastif/qt-android/debian/output/source_dir=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -O2 -Wl,-z,relro -Wl,-z,now -Wl,--enable-new-dtags qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/lupdate_autogen/mocs_compilation.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/numerus.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/po.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/projectdescriptionreader.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/qm.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/qph.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/qrcreader.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/runqttool.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/simtexth.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/translator.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/translatormessage.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/ts.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/xliff.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/__/shared/xmlparser.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/cpp.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/java.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/python.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/main.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/merge.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/ui.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/qdeclarative.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/clangtoolastreader.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/cpp_clang.cpp.o qttools/src/linguist/lupdate/CMakeFiles/lupdate.dir/lupdatepreprocessoraction.cpp.o -o qtbase/bin/lupdate -Wl,-rpath,/builds/bastif/qt-android/debian/output/source_dir/debian/build-host/qtbase/lib:/usr/lib/llvm-11/lib: qtbase/lib/libQt6Qml.so.6.3.1 qtbase/lib/libQt6Network.so.6.3.1 qtbase/lib/libQt6Core.so.6.3.1 /usr/lib/llvm-11/lib/libclang-11.so.1 /usr/lib/llvm-11/lib/libclang-cpp.so.11 /usr/lib/llvm-11/lib/libLLVM-11.so.1 -lpthread && :
[4663/5399] : && /usr/lib/ccache/c++ -g -O2 -ffile-prefix-map=/builds/bastif/qt-android/debian/output/source_dir=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -O2 -Wl,-z,relro -Wl,-z,now -Wl,--enable-new-dtags qttools/src/qdoc/CMakeFiles/qdoc.dir/qdoc_autogen/mocs_compilation.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/aggregate.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/atom.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/clangcodeparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/classnode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/codechunk.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/codemarker.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/codeparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/collectionnode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/config.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/cppcodemarker.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/cppcodeparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/doc.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/docbookgenerator.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/docparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/docprivate.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/editdistance.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/enumnode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/externalpagenode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/functionnode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/generator.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/headernode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/helpprojectwriter.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/htmlgenerator.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/jscodemarker.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/location.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/main.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/manifestwriter.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/namespacenode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/node.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/openedlist.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/pagenode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/parameters.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/propertynode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/proxynode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/puredocparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qdoccommandlineparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qdocdatabase.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qdocindexfiles.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qmlcodemarker.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qmlcodeparser.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qmlmarkupvisitor.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qmlpropertynode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qmltypenode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/qmlvisitor.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/quoter.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/relatedclass.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/sections.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/sharedcommentnode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/tagfilewriter.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/text.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/tokenizer.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/tree.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/typedefnode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/usingclause.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/utilities.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/variablenode.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/webxmlgenerator.cpp.o qttools/src/qdoc/CMakeFiles/qdoc.dir/xmlgenerator.cpp.o -o qtbase/bin/qdoc -Wl,-rpath,/usr/lib/llvm-11/lib:/builds/bastif/qt-android/debian/output/source_dir/debian/build-host/qtbase/lib: /usr/lib/llvm-11/lib/libclang-11.so.1 /usr/lib/llvm-11/lib/libclang-cpp.so.11 /usr/lib/llvm-11/lib/libLLVM-11.so.1 qtbase/lib/libQt6Qml.so.6.3.1 qtbase/lib/libQt6Network.so.6.3.1 qtbase/lib/libQt6Core.so.6.3.1 -lpthread && :
BTW, qt configuration was invoked with the parameter:
configure \ \ -prefix /usr/lib/qt-android-6.3-host \ --pch=no \ -skip qt3d \ -skip qt5compat \ -skip qtcharts \ -skip qtcoap \ -skip qtconnectivity \ -skip qtdatavis3d \ -skip qtdoc \ -skip qtimageformats \ -skip qtlottie \ -skip qtmqtt \ -skip qtmultimedia \ -skip qtnetworkauth \ -skip qtopcua \ -skip qtpositioning \ -skip qtquicktimeline \ -skip qtsensors \ -skip qtserialbus \ -skip qtserialport \ -skip qttranslations \ -skip qtvirtualkeyboard \ -skip qtwayland \ -skip qtwebchannel \ -skip qtwebengine \ -skip qtwebsockets \ -skip qtwebview \ --widgets=yes \ --accessibility=no \ --ssl=no \ --cups=no \ --fontconfig=no \ --freetype=system \ --zlib=system \ --libpng=system \ --libjpeg=system \ --harfbuzz=no \ --opengl=no \ --gtk=no \ --egl=no \ --dbus=no \ -no-sql-db2 \ -no-sql-ibase \ -no-sql-mysql \ -no-sql-oci \ -no-sql-odbc \ -no-sql-psql \ -no-sql-sqlite \ -- \ -DFEATURE_clang=ON \ -DFEATURE_clangcpp=ON \ -DTEST_libclang=ON \ -DCMAKE_SKIP_INSTALL_RPATH=ON # For reproducible build. See https://reproducible-builds.org/docs/deterministic-build-systems/