Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Problem with lib and include dirs when building qt lib
Forum Updated to NodeBB v4.3 + New Features

Problem with lib and include dirs when building qt lib

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
3 Posts 2 Posters 639 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ioseph12I Offline
    Ioseph12I Offline
    Ioseph12
    wrote on last edited by
    #1

    Hi there,

    I'm currently working on a project where I have to cross compile the Qt library for an aarch64 device. The thing is that, whenever I try to configure, the output shows that none of the include nor lib paths has been added to the makefile but the compiler default ones.

    My qmake.conf file is this one :

    #
    # qmake configuration for Jetson TX1 boards running 64-bit Linux For Tegra
    # (tested with R24.2, sample root filesystem)
    #
    # Note that this environment has been tested with X11 only.
    #
    # A typical configure line might look like the following:
    #
    # configure \
    #   -device linux-jetson-tx1-g++ \
    #   -device-option CROSS_COMPILE=/opt/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- \
    #   -sysroot /opt/Linux_for_Tegra/rootfs
    #
    # Note that this builds for GLX + OpenGL. To use EGL + OpenGL ES instead, pass
    # -opengl es2 and ensure the rootfs has the headers (rootfs/usr/include/EGL,
    # GLES2, GLES3), which may not be the case out of the box.
    #
    # Check the configure output carefully, some features may be disabled due to the
    # rootfs not having the necessary dev files.
    #
    # If getting cryptic linker errors from static libs like libm.a, check that the
    # symlinks libm.so, libz.so, etc. under rootfs/usr/lib/aarch64-linux-gnu are not
    # broken. If they are, due to using absolute paths, change them so that they are
    # relative to rootfs.
    
    include(../common/linux_device_pre.conf)
    
    QMAKE_INCDIR_POST += \
        $$[QT_SYSROOT]/usr/include \
        $$[QT_SYSROOT]/usr/include/aarch64-linux-gnu
    
    QMAKE_LIBDIR_POST += \
        $$[QT_SYSROOT]/usr/lib \
        $$[QT_SYSROOT]/lib/aarch64-linux-gnu \
        $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \
        $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra
    
    QMAKE_RPATHLINKDIR_POST += \
        $$[QT_SYSROOT]/usr/lib \
        $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \
        $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra \
        $$[QT_SYSROOT]/lib/aarch64-linux-gnu
    
    DISTRO_OPTS += aarch64
    COMPILER_FLAGS += -mtune=cortex-a57.cortex-a53 -march=armv8-a
    
    # When configured with -opengl es2, eglfs will be functional with its
    # dummy fullscreen X11 backend, in addition to xcb.
    EGLFS_DEVICE_INTEGRATION = eglfs_x11
    
    include(../common/linux_arm_device_post.conf)
    load(qt_config)
    

    And this is the first part of the output when I try to configure:

    jose@jose-GS65-Stealth-Thin-8RE:~/Descargas/qt-everywhere-opensource-src-5.3.2$ ./configure -opensource -release -v -confirm-license -no-sql-sqlite -no-sql-mysql -device linux-jetson-tx1-g++ -device-option CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- -sysroot /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs -nomake examples -nomake tests -prefix /usr/local/qt5 -extprefix /home/jose/JETSON_TX2/64_TX2/qt5 -hostprefix /home/jose/JETSON_TX2/64_TX2/qt5-host -opengl es2
    + cd qtbase
    + /home/jose/Descargas/qt-everywhere-opensource-src-5.3.2/qtbase/configure -top-level -opensource -release -v -confirm-license -no-sql-sqlite -no-sql-mysql -device linux-jetson-tx1-g++ -device-option CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- -sysroot /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs -nomake examples -nomake tests -prefix /usr/local/qt5 -extprefix /home/jose/JETSON_TX2/64_TX2/qt5 -hostprefix /home/jose/JETSON_TX2/64_TX2/qt5-host -opengl es2
    
    This is the Qt Open Source Edition.
    
    You are licensed to use this software under the terms of
    the Lesser GNU General Public License (LGPL) versions 2.1.
    You are also licensed to use this software under the terms of
    the GNU General Public License (GPL) versions 3.
    
    You have already accepted the terms of the Open Source license.
    
    Precompiled-headers support enabled.
    /usr/bin/aarch64-linux-gnu-g++ -c -fvisibility=hidden fvisibility.c
    Symbol visibility control enabled.
    /usr/bin/aarch64-linux-gnu-g++ --sysroot=/home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
    bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
     #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
      ^
    Symbolic function binding disabled.
    DEFAULT_INCDIRS="/usr/aarch64-linux-gnu/include/c++/5
    /usr/aarch64-linux-gnu/include/c++/5/aarch64-linux-gnu
    /usr/aarch64-linux-gnu/include/c++/5/backward
    /usr/lib/gcc-cross/aarch64-linux-gnu/5/include
    /usr/lib/gcc-cross/aarch64-linux-gnu/5/include-fixed
    /usr/aarch64-linux-gnu/include
    /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs/usr/include/aarch64-linux-gnu
    /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs/usr/include
    "
    DEFAULT_LIBDIRS="/usr/lib/gcc-cross/aarch64-linux-gnu/5
    /usr/aarch64-linux-gnu/lib
    /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs/lib/aarch64-linux-gnu
    /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs/lib
    /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs/usr/lib/aarch64-linux-gnu
    /home/jose/JETSON_TX2/64_TX2/Linux_for_Tegra/rootfs/usr/lib
    "
    Creating qmake...
    

    Any idea ? Thanks so much

    Cheers

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Why use such an outdated version of Qt ?
      Did you modify the Jetson mkspec ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • Ioseph12I Offline
        Ioseph12I Offline
        Ioseph12
        wrote on last edited by
        #3

        Hello there,

        Regarding to the version, is just for compatibility purposes.

        The jetson mkspec was downloaded from the qt 5.9 branch on git and has not been modified.

        Cheers

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved