Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-61982

QMAKE_LIBDIR_POST still does not live up to its name

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.12
    • 5.10.0
    • Build tools: qmake
    • None
    • 473d9a5fc763d114fbfa1c0d2b5f8d03cab6e972

    Description

      If older qt libraries are present in sysroot, qmake links against those instead of the libraries currently compiled. This is related to the problems already fixed with QTBUG-40825.

      Steps to reproduce:

      1. Install Boot2Qt 5.9.1 jetson-tx toolchain
      2. Clone qt/qtbase and checkout dev-branch
      3. Configure with following options:
        • ./configure R . -openssl -device linux-jetson-tx1-g++ -device-option CROSS_COMPILE=/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux -device-option DISTRO_OPTS='aarch64 boot2qt' -sysroot ~/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/ -extprefix /home/sanurmen/work/install -mysql_config ~/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib -no-xcb -opensource -confirm-license -nomake tests -verbose -prefix /home/sanurmen/work/install -release -nomake examples
      1. Start compilation

      Expected outcome:

      • Compilation of qtbase is successful

      Actual outcome:

      • Compilation fails with this kind of error message (linked against old library version missing some symbols)
        • /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -sysroot=/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/ -Wl,no-undefined -Wl,-version-script,QtGui.version -Wl,-O1 -Wl,-z,origin -Wl,-rpath,\$ORIGIN -Wl,-rpath,\$ORIGIN -Wl,-rpath-link,/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/lib -Wl,-rpath-link,/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/lib/aarch64-linux-gnu -Wl,-rpath-link,/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/lib/aarch64-linux-gnu/tegra -Wl,-rpath-link,/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/lib/aarch64-linux-gnu -shared -Wl,-soname,libQt5Gui.so.5 -o libQt5Gui.so.5.10.0 .obj/pixman-arm-neon-asm.o .obj/qdrawhelper_neon_asm.o .obj/qimage_compat.o .obj/qaccessible.o .obj/qaccessiblecache.o .obj/qaccessibleobject.o .obj/qaccessibleplugin.o .obj/qplatformaccessibility.o .obj/qaccessiblebridge.o .obj/qgenericpluginfactory.o .obj/qgenericplugin.o .obj/qwindowsysteminterface.o .obj/qplatforminputcontextfactory.o .obj/qplatforminputcontextplugin.o .obj/qplatforminputcontext.o .obj/qplatformintegration.o .obj/qplatformdrag.o .obj/qplatformscreen.o .obj/qplatformintegrationfactory.o .obj/qplatformintegrationplugin.o .obj/qplatformtheme.o .obj/qplatformthemefactory.o .obj/qplatformthemeplugin.o .obj/qplatformwindow.o .obj/qplatformoffscreensurface.o .obj/qplatformcursor.o .obj/qplatformclipboard.o .obj/qplatformnativeinterface.o .obj/qsessionmanager.o .obj/qshapedpixmapdndwindow.o .obj/qsimpledrag.o .obj/qsurfaceformat.o .obj/qguiapplication.o .obj/qwindow.o .obj/qoffscreensurface.o .obj/qplatformsurface.o .obj/qsurface.o .obj/qclipboard.o .obj/qcursor.o .obj/qdrag.o .obj/qdnd.o .obj/qevent.o .obj/qinputmethod.o .obj/qkeysequence.o .obj/qkeymapper.o .obj/qpalette.o .obj/qguivariant.o .obj/qscreen.o .obj/qshortcutmap.o .obj/qstylehints.o .obj/qtouchdevice.o .obj/qplatformsharedgraphicscache.o .obj/qplatformdialoghelper.o .obj/qplatformservices.o .obj/qplatformsystemtrayicon.o .obj/qplatformsessionmanager.o .obj/qplatformmenu.o .obj/qpixelformat.o .obj/qpaintdevicewindow.o .obj/qrasterwindow.o .obj/qplatformgraphicsbuffer.o .obj/qplatformgraphicsbufferhelper.o .obj/qinputdevicemanager.o .obj/qhighdpiscaling.o .obj/qplatformopenglcontext.o .obj/qopenglcontext.o .obj/qopenglwindow.o .obj/qbitmap.o .obj/qimage.o .obj/qimage_conversions.o .obj/qimageiohandler.o .obj/qimagereader.o .obj/qimagewriter.o .obj/qpaintengine_pic.o .obj/qpicture.o .obj/qpictureformatplugin.o .obj/qpixmap.o .obj/qpixmapcache.o .obj/qplatformpixmap.o .obj/qpixmap_raster.o .obj/qpixmap_blitter.o .obj/qimagepixmapcleanuphooks.o .obj/qicon.o .obj/qiconloader.o .obj/qiconengine.o .obj/qiconengineplugin.o .obj/qmovie.o .obj/qbmphandler.o .obj/qppmhandler.o .obj/qxbmhandler.o .obj/qxpmhandler.o .obj/qpnghandler.o .obj/qfont.o .obj/qfontengine.o .obj/qfontengineglyphcache.o .obj/qfontsubset.o .obj/qfontmetrics.o .obj/qfontdatabase.o .obj/qtextengine.o .obj/qtextlayout.o .obj/qtextformat.o .obj/qtextobject.o .obj/qtextoption.o .obj/qfragmentmap.o .obj/qtextdocument.o .obj/qtextdocument_p.o .obj/qtexthtmlparser.o .obj/qabstracttextdocumentlayout.o .obj/qtextdocumentlayout.o .obj/qtextcursor.o .obj/qtextdocumentfragment.o .obj/qtextimagehandler.o .obj/qtexttable.o .obj/qtextlist.o .obj/qtextdocumentwriter.o .obj/qsyntaxhighlighter.o .obj/qstatictext.o .obj/qrawfont.o .obj/qglyphrun.o .obj/qdistancefield.o .obj/qinputcontrol.o .obj/qfontengine_qpf2.o .obj/qplatformfontdatabase.o .obj/qharfbuzzng.o .obj/qtextodfwriter.o .obj/qzip.o .obj/qcssparser.o .obj/qbackingstore.o .obj/qbezier.o .obj/qblendfunctions.o .obj/qblittable.o .obj/qbrush.o .obj/qcolor.o .obj/qcolorprofile.o .obj/qcompositionfunctions.o .obj/qcosmeticstroker.o .obj/qdrawhelper.o .obj/qemulationpaintengine.o .obj/qgrayraster.o .obj/qimagescale.o .obj/qmatrix.o .obj/qmemrotate.o .obj/qoutlinemapper.o .obj/qpagedpaintdevice.o .obj/qpagelayout.o .obj/qpagesize.o .obj/qpaintdevice.o .obj/qpaintengine.o .obj/qpaintengineex.o .obj/qpaintengine_blitter.o .obj/qpaintengine_raster.o .obj/qpainter.o .obj/qpainterpath.o .obj/qpathclipper.o .obj/qpdf.o .obj/qpdfwriter.o .obj/qpen.o .obj/qpolygon.o .obj/qrasterizer.o .obj/qregion.o .obj/qstroker.o .obj/qtextureglyphcache.o .obj/qtransform.o .obj/qtriangulatingstroker.o .obj/qtriangulator.o .obj/qplatformbackingstore.o .obj/qpathsimplifier.o .obj/qcssutil.o .obj/qdesktopservices.o .obj/qvalidator.o .obj/qgridlayoutengine.o .obj/qabstractlayoutstyleinfo.o .obj/qlayoutpolicy.o .obj/qshaderformat.o .obj/qshadergenerator.o .obj/qshadergraph.o .obj/qshadergraphloader.o .obj/qshadernode.o .obj/qshadernodeport.o .obj/qshadernodesloader.o .obj/qgenericmatrix.o .obj/qmatrix4x4.o .obj/qquaternion.o .obj/qvector2d.o .obj/qvector3d.o .obj/qvector4d.o .obj/qopengl.o .obj/qopenglfunctions.o .obj/qopenglframebufferobject.o .obj/qopenglpaintdevice.o .obj/qopenglbuffer.o .obj/qopenglshaderprogram.o .obj/qopenglgradientcache.o .obj/qopengltexturecache.o .obj/qopenglengineshadermanager.o .obj/qopengl2pexvertexarray.o .obj/qopenglpaintengine.o .obj/qopenglcustomshaderstage.o .obj/qopengltextureglyphcache.o .obj/qopenglversionfunctions.o .obj/qopenglversionfunctionsfactory.o .obj/qopenglvertexarrayobject.o .obj/qopengldebug.o .obj/qopengltextureblitter.o .obj/qopengltexture.o .obj/qopengltexturehelper.o .obj/qopenglpixeltransferoptions.o .obj/qopenglprogrambinarycache.o .obj/qopenglfunctions_es2.o .obj/qguivariantanimation.o .obj/qstandarditemmodel.o .obj/qimage_neon.o .obj/qdrawhelper_neon.o .obj/qimagescale_neon.o .obj/qrc_qpdf.o .obj/moc_qaccessible.o .obj/moc_qaccessiblecache_p.o .obj/moc_qaccessibleplugin.o .obj/moc_qaccessiblebridge.o .obj/moc_qgenericplugin.o .obj/moc_qplatforminputcontext.o .obj/moc_qplatforminputcontextplugin_p.o .obj/moc_qplatformintegrationplugin.o .obj/moc_qplatformthemeplugin.o .obj/moc_qplatformnativeinterface.o .obj/moc_qplatformmenu.o .obj/moc_qshapedpixmapdndwindow_p.o .obj/moc_qsurfaceformat.o .obj/moc_qoffscreensurface.o .obj/moc_qclipboard.o .obj/moc_qdrag.o .obj/moc_qdnd_p.o .obj/moc_qevent.o .obj/moc_qkeysequence.o .obj/moc_qkeymapper_p.o .obj/moc_qpalette.o .obj/moc_qsessionmanager.o .obj/moc_qscreen.o .obj/moc_qstylehints.o .obj/moc_qtouchdevice.o .obj/moc_qplatformsharedgraphicscache.o .obj/moc_qplatformdialoghelper.o .obj/moc_qpaintdevicewindow.o .obj/moc_qrasterwindow.o .obj/moc_qplatformgraphicsbuffer.o .obj/moc_qinputdevicemanager_p.o .obj/moc_qopenglwindow.o .obj/moc_qimageiohandler.o .obj/moc_qpictureformatplugin.o .obj/moc_qiconengineplugin.o .obj/moc_qfont.o .obj/moc_qfontdatabase.o .obj/moc_qtextformat.o .obj/moc_qtextobject.o .obj/moc_qtextdocument.o .obj/moc_qtextimagehandler_p.o .obj/moc_qtexttable.o .obj/moc_qtextlist.o .obj/moc_qinputcontrol_p.o .obj/moc_qbrush.o .obj/moc_qpainter.o .obj/moc_qpdfwriter.o .obj/moc_qplatformbackingstore.o .obj/moc_qvalidator.o .obj/moc_qopenglshaderprogram.o .obj/moc_qopenglengineshadermanager_p.o .obj/moc_qopengltexture.o  -L/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux//usr/lib -L/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux//lib/aarch64-linux-gnu -L/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux//usr/lib/aarch64-linux-gnu -L/home/sanurmen/Work/Qt/repos/qtbase/lib -lQt5Core -lpthread -lGLESv2 -lpng16 -lharfbuzz -lz
           .obj/qhttpmultipart.o: In function `QHttpMultiPartPrivate::QHttpMultiPartPrivate()':
           qhttpmultipart.cpp.text+0x458): undefined reference to `QRandomGenerator::fillRange_helper(void*, void*)'
      • If previous problem is fixed (see attached patch to unixmake.cpp), then following error message is shown:
        • /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -c -pipe -mtune=cortex-a57.cortex-a53 -march=armv8-a --sysroot=/home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/ -O2 -std=c+1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -D_REENTRANT -fPIC -DNDEBUG -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_RTREE -DHAVE_POSIX_FALLOCATE=1 -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I/home/sanurmen/Work/Qt/repos/qtbase/src/3rdparty/sqlite -I/home/sanurmen/Work/Qt/repos/qtbase/include/QtSql/5.10.0 -I/home/sanurmen/Work/Qt/repos/qtbase/include/QtSql/5.10.0/QtSql -I/home/sanurmen/Work/Qt/repos/qtbase/include/QtCore/5.10.0 -I/home/sanurmen/Work/Qt/repos/qtbase/include/QtCore/5.10.0/QtCore -I/home/sanurmen/Work/Qt/repos/qtbase/include -I/home/sanurmen/Work/Qt/repos/qtbase/include/QtSql -I/home/sanurmen/Work/Qt/repos/qtbase/include/QtCore -I.moc -isystem /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/include -isystem /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux//usr/include/aarch64-linux-gnu -I/home/sanurmen/Work/Qt/repos/qtbase/mkspecs/devices/linux-jetson-tx1-g+ -o .obj/qsql_sqlite.o qsql_sqlite.cpp
           In file included from /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/include/c++/6.2.0/bits/stl_algo.h:59:0,
                            from /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/include/c++/6.2.0/algorithm:62,
                            from /home/sanurmen/Work/Qt/repos/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:110,
                            from /home/sanurmen/Work/Qt/repos/qtbase/include/QtCore/qglobal.h:1,
                            from /home/sanurmen/Work/Qt/repos/qtbase/include/QtSql/../../src/sql/kernel/qtsqlglobal.h:43,
                            from /home/sanurmen/Work/Qt/repos/qtbase/include/QtSql/qtsqlglobal.h:1,
                            from /home/sanurmen/Work/Qt/repos/qtbase/include/QtSql/../../src/sql/kernel/qsqldriver.h:43,
                            from /home/sanurmen/Work/Qt/repos/qtbase/include/QtSql/qsqldriver.h:1,
                            from qsql_sqlite_p.h:54,
                            from qsql_sqlite.cpp:40:
           /home/sanurmen/Qt/5.9.1/Boot2Qt/jetson-tx1/toolchain/sysroots/aarch64-poky-linux/usr/include/c++/6.2.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
            #include_next <stdlib.h>

      Workaround:

      • Apply attached patch before running configure

       

       

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              buddenha Oswald Buddenhagen
              sanurmen Sami Nurmenniemi
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes