Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Cross Compiling Problem for Apalis-TK1 (qt-qml)

Cross Compiling Problem for Apalis-TK1 (qt-qml)

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
8 Posts 2 Posters 2.9k 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.
  • A Offline
    A Offline
    aktay
    wrote on last edited by
    #1

    Hi all,
    I am build qt cross compiling for Nvidia Toradex Apalis-TK1. I need to run a qml application on Apalis-TK1. The QtBase modules work correct.

    I am getting the following error when doing qmake for Qtdeclarativ. (-b 5.7)

    abdullah@abdullah:~/qtdeclarative$ ~/trdx-sdk/qt5/bin/qmake -r
    Reading /home/abdullah/qtdeclarative/src/src.pro
     Reading /home/abdullah/qtdeclarative/src/qml/qml.pro
    Project MESSAGE: perl -w /home/abdullah/trdx-sdk/qt5/bin/syncqt.pl -module QtQml -version 5.3.3 -outdir /home/abdullah/qtdeclarative /home/abdullah/qtdeclarative
    <srcbase> = /home/abdullah/qtdeclarative 
    <outbase> = /home/abdullah/qtdeclarative 
     Reading /home/abdullah/qtdeclarative/src/plugins/plugins.pro
      Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmltooling.pro
       Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro
      Reading /home/abdullah/qtdeclarative/src/plugins/accessible/accessible.pro
     Reading /home/abdullah/qtdeclarative/src/imports/imports.pro
      Reading /home/abdullah/qtdeclarative/src/imports/folderlistmodel/folderlistmodel.pro
      Reading /home/abdullah/qtdeclarative/src/imports/localstorage/localstorage.pro
      Reading /home/abdullah/qtdeclarative/src/imports/models/models.pro
      Reading /home/abdullah/qtdeclarative/src/imports/settings/settings.pro
      Reading /home/abdullah/qtdeclarative/src/imports/xmllistmodel/xmllistmodel.pro
     Reading /home/abdullah/qtdeclarative/src/qmldevtools/qmldevtools.pro
    Reading /home/abdullah/qtdeclarative/tools/tools.pro
     Reading /home/abdullah/qtdeclarative/tools/qmlmin/qmlmin.pro
     Reading /home/abdullah/qtdeclarative/tools/qmlimportscanner/qmlimportscanner.pro
     Reading /home/abdullah/qtdeclarative/tools/qml/qml.pro
     Reading /home/abdullah/qtdeclarative/tools/qmlprofiler/qmlprofiler.pro
     Reading /home/abdullah/qtdeclarative/tools/qmlbundle/qmlbundle.pro
    Reading /home/abdullah/qtdeclarative/examples/examples.pro
     Reading /home/abdullah/qtdeclarative/examples/qml/qml.pro
      Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/referenceexamples.pro
       Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/adding/adding.pro
       Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/coercion/coercion.pro
       Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/default/default.pro
       Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/properties/properties.pro
       Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/methods/methods.pro
       Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/extended/extended.pro
      Reading /home/abdullah/qtdeclarative/examples/qml/shell/shell.pro
    Reading /home/abdullah/qtdeclarative/tests/tests.pro
     Reading /home/abdullah/qtdeclarative/tests/auto/auto.pro
      Reading /home/abdullah/qtdeclarative/tests/auto/qml/qml.pro
       Reading /home/abdullah/qtdeclarative/tests/auto/qml/parserstress/parserstress.pro
       Reading /home/abdullah/qtdeclarative/tests/auto/qml/qjsvalueiterator/qjsvalueiterator.pro
       Reading /home/abdullah/qtdeclarative/tests/auto/qml/qjsonbinding/qjsonbinding.pro
       Reading /home/abdullah/qtdeclarative/tests/auto/qml/qmlmin/qmlmin.pro
       Reading /home/abdullah/qtdeclarative/tests/auto/qml/qmlplugindump/qmlplugindump.pro
       Reading /home/abdullah/qtdeclarative/tests/auto/qml/qqmlcomponent/qqmlcomponent.pro
    Project ERROR: Unknown module(s) in QT: quick-private
    

    The configuration is as follows.

    ./configure -release -opensource -confirm-license -device linux-apalis-g++ \
    -device-option CROSS_COMPILE=~/trdx-sdk/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi- \
    -sysroot ~/trdx-sdk/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi \
    -make libs -nomake tests -nomake examples -prefix /usr/local/qt5trdx -extprefix ~/trdx-sdk/qt5trdx -hostprefix ~/trdx-sdk/qt5 -v
    

    qmake.conf file

    MAKEFILE_GENERATOR      = UNIX
    CONFIG                 += incremental
    QMAKE_INCREMENTAL_STYLE = sublib
    
    include(../../common/linux.conf)
    include(../../common/gcc-base-unix.conf)
    include(../../common/g++-unix.conf)
    
    load(device_config)
    
    QT_QPA_DEFAULT_PLATFORM = eglfs
    
    # modifications to g++.conf
    QMAKE_CC                = $${CROSS_COMPILE}gcc
    QMAKE_CXX               = $${CROSS_COMPILE}g++
    QMAKE_LINK              = $${QMAKE_CXX}
    QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
    
    # modifications to linux.conf
    QMAKE_AR                = $${CROSS_COMPILE}ar cqs
    QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
    QMAKE_NM                = $${CROSS_COMPILE}nm -P
    QMAKE_STRIP             = $${CROSS_COMPILE}strip
    
    COMPILER_FLAGS               += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4
    
    #modifications to gcc-base.conf
    QMAKE_CFLAGS           += $${COMPILER_FLAGS}
    QMAKE_CXXFLAGS         += $${COMPILER_FLAGS}
    QMAKE_CXXFLAGS_RELEASE += -O3
    
    QMAKE_LIBS             += -lrt -lpthread -ldl
    
    # Extra stuff (OpenGL, DirectFB, ...)
    QMAKE_INCDIR_EGL        = $$[QT_SYSROOT]/usr/include
    QMAKE_LIBDIR_EGL        = $$[QT_SYSROOT]/usr/lib
    QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
    QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL}
    QMAKE_INCDIR_OPENVG     = $${QMAKE_INCDIR_EGL}
    QMAKE_LIBDIR_OPENVG     = $${QMAKE_LIBDIR_EGL}
    
    QMAKE_LIBS_EGL          = -lEGL -lIMGegl -lsrv_um
    QMAKE_LIBS_OPENGL_ES2   = -lGLESv2 $${QMAKE_LIBS_EGL}
    QMAKE_LIBS_OPENVG       = -lOpenVG $${QMAKE_LIBS_EGL}
    
    DISTRO_OPTS += hard-float
    
    
    include(../common/linux_arm_device_post.conf)
    
    load(qt_config)
    
    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      There seem to be a mismatch somewhere. You are writing that you are building Qt 5.7 however you seem to try to build the module with Qt 5.3.3.

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

      A 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        There seem to be a mismatch somewhere. You are writing that you are building Qt 5.7 however you seem to try to build the module with Qt 5.3.3.

        A Offline
        A Offline
        aktay
        wrote on last edited by
        #3

        @SGaist
        Thank you for your reply.Sorry, I got the wrong screen display.
        I install modules as follows.

        git clone https://github.com/qt/qtdeclarative.git -b 5.7
        git clone https://github.com/qt/qt5.git -b 5.7
        

        The correct output is as follows.

        abdullah@abdullah:~/qtdeclarative$ ~/apalis-sdk/qt5/bin/qmake -r
        Reading /home/abdullah/qtdeclarative/src/src.pro
         Reading /home/abdullah/qtdeclarative/src/qml/qml.pro
        Project MESSAGE: perl -w /home/abdullah/apalis-sdk/qt5/bin/syncqt.pl -module QtQml -version 5.7.1 -outdir /home/abdullah/qtdeclarative /home/abdullah/qtdeclarative
        <srcbase> = /home/abdullah/qtdeclarative 
        <outbase> = /home/abdullah/qtdeclarative 
         Reading /home/abdullah/qtdeclarative/src/plugins/plugins.pro
          Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmltooling.pro
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/packetprotocol/packetprotocol.pro
        Project MESSAGE: perl -w /home/abdullah/apalis-sdk/qt5/bin/syncqt.pl -module QtPacketProtocol -version 5.7.1 -outdir /home/abdullah/qtdeclarative /home/abdullah/qtdeclarative
        <srcbase> = /home/abdullah/qtdeclarative 
        <outbase> = /home/abdullah/qtdeclarative 
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_server/qmldbg_server.pro
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_local/qmldbg_local.pro
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_tcp/qmldbg_tcp.pro
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qmldbg_debugger.pro
           Reading /home/abdullah/qtdeclarative/src/plugins/qmltooling/qmldbg_profiler/qmldbg_profiler.pro
         Reading /home/abdullah/qtdeclarative/src/imports/imports.pro
          Reading /home/abdullah/qtdeclarative/src/imports/builtins/builtins.pro
          Reading /home/abdullah/qtdeclarative/src/imports/qtqml/qtqml.pro
          Reading /home/abdullah/qtdeclarative/src/imports/folderlistmodel/folderlistmodel.pro
          Reading /home/abdullah/qtdeclarative/src/imports/localstorage/localstorage.pro
          Reading /home/abdullah/qtdeclarative/src/imports/models/models.pro
          Reading /home/abdullah/qtdeclarative/src/imports/settings/settings.pro
          Reading /home/abdullah/qtdeclarative/src/imports/statemachine/statemachine.pro
          Reading /home/abdullah/qtdeclarative/src/imports/xmllistmodel/xmllistmodel.pro
         Reading /home/abdullah/qtdeclarative/src/qmldevtools/qmldevtools.pro
        Project MESSAGE: perl -w /home/abdullah/apalis-sdk/qt5/bin/syncqt.pl -module QtQmlDevTools -version 5.7.1 -outdir /home/abdullah/qtdeclarative /home/abdullah/qtdeclarative
        <srcbase> = /home/abdullah/qtdeclarative 
        <outbase> = /home/abdullah/qtdeclarative 
         Reading /home/abdullah/qtdeclarative/src/qmldebug/qmldebug.pro
        Project MESSAGE: perl -w /home/abdullah/apalis-sdk/qt5/bin/syncqt.pl -module QtQmlDebug -version 5.7.1 -outdir /home/abdullah/qtdeclarative /home/abdullah/qtdeclarative
        <srcbase> = /home/abdullah/qtdeclarative 
        <outbase> = /home/abdullah/qtdeclarative 
        Reading /home/abdullah/qtdeclarative/tools/tools.pro
         Reading /home/abdullah/qtdeclarative/tools/qmlmin/qmlmin.pro
         Reading /home/abdullah/qtdeclarative/tools/qmlimportscanner/qmlimportscanner.pro
         Reading /home/abdullah/qtdeclarative/tools/qml/qml.pro
         Reading /home/abdullah/qtdeclarative/tools/qmllint/qmllint.pro
         Reading /home/abdullah/qtdeclarative/tools/qmlprofiler/qmlprofiler.pro
        Reading /home/abdullah/qtdeclarative/examples/examples.pro
         Reading /home/abdullah/qtdeclarative/examples/qml/qml.pro
          Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/referenceexamples.pro
           Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/adding/adding.pro
           Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/coercion/coercion.pro
           Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/default/default.pro
           Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/properties/properties.pro
           Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/methods/methods.pro
           Reading /home/abdullah/qtdeclarative/examples/qml/referenceexamples/extended/extended.pro
          Reading /home/abdullah/qtdeclarative/examples/qml/tutorials/tutorials.pro
          Reading /home/abdullah/qtdeclarative/examples/qml/shell/shell.pro
        Reading /home/abdullah/qtdeclarative/tests/tests.pro
         Reading /home/abdullah/qtdeclarative/tests/auto/auto.pro
          Reading /home/abdullah/qtdeclarative/tests/auto/qml/qml.pro
           Reading /home/abdullah/qtdeclarative/tests/auto/qml/parserstress/parserstress.pro
           Reading /home/abdullah/qtdeclarative/tests/auto/qml/qjsvalueiterator/qjsvalueiterator.pro
           Reading /home/abdullah/qtdeclarative/tests/auto/qml/qjsonbinding/qjsonbinding.pro
           Reading /home/abdullah/qtdeclarative/tests/auto/qml/qmlmin/qmlmin.pro
           Reading /home/abdullah/qtdeclarative/tests/auto/qml/qmlplugindump/qmlplugindump.pro
           Reading /home/abdullah/qtdeclarative/tests/auto/qml/qqmlcomponent/qqmlcomponent.pro
        Project ERROR: Unknown module(s) in QT: quick-private
        
        
        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          You should clone from https://code.qt.io which is the official repository. Github is just a mirror.

          Why are you cloning both Qt5 and QtDeclarative ?

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

          A 1 Reply Last reply
          0
          • SGaistS SGaist

            You should clone from https://code.qt.io which is the official repository. Github is just a mirror.

            Why are you cloning both Qt5 and QtDeclarative ?

            A Offline
            A Offline
            aktay
            wrote on last edited by aktay
            #5

            @SGaist

            I want to build all qt5 modules for apalis-tk1.So I cloned qt5. I use https://code.qt.io but I get the same error again.

            Where is the problem? I can not find a solution.

            • qtbase qmake.conf file

            • kernel local.conf file

            • lIn the qt configuration (./configure)

            local.conf file

            WARN_QA_remove = "host-user-contaminated"
            DISTRO_FEATURES_remove = "wayland"
            
            BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
            
            PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
            
            MACHINE ?= "apalis-tk1"
            
            DL_DIR ?= "${TOPDIR}/downloads"
            
            DEPLOY_DIR = "${TOPDIR}/../deploy"
            
            PACKAGE_CLASSES ?= "package_ipk"
            
            EXTRA_IMAGE_FEATURES = "debug-tweaks package-management"
            
            USER_CLASSES ?= "buildstats image-mklibs image-prelink"
            
            PATCHRESOLVE = "noop"
            
            BB_DISKMON_DIRS = "\
                STOPTASKS,${TMPDIR},1G,100K \
                STOPTASKS,${DL_DIR},1G,100K \
                STOPTASKS,${SSTATE_DIR},1G,100K \
                ABORT,${TMPDIR},100M,1K \
                ABORT,${DL_DIR},100M,1K \
                ABORT,${SSTATE_DIR},100M,1K" 
            
            PACKAGECONFIG_pn-qemu-native = "sdl"
            ASSUME_PROVIDED += "libsdl-native"
            
            CONF_VERSION = "1"
            
            INHERIT += "rm_work"
            
            INHERIT += "toradex-mirrors"
            
            DISTRO = "angstrom"
            
            IMAGE_FSTYPES += "tar.bz2"
            
            PREFERRED_PROVIDER_psplash-support = "psplash-angstrom"
            
            IMAGE_INSTALL_append = " qtbase qtbase-fonts qtbase-plugins cinematicexperience qt3d qt5-plugin-generic-vboxtouch qtcanvas3d qtcharts qtconnectivity qtdatavis3d qtdeclarative qtenginio qtgraphicaleffects qtimageformats qtlocation qtmultimedia qtquick1 qtquickcontrols2 qtquickcontrols qtscript qtsensors qtserialport qtsvg qtsystems qttools qttranslations qtvirtualkeyboard qtwebchannel qtwebkit-examples qtwebkit qtwebsockets qtxmlpatterns openssh-sftp-server gdb gdbserver"
            
            PACKAGECONFIG_FONTS_append_pn-qtbase = " fontconfig"
            

            Qwidget works fine. Qml and quick do not work.

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

              What do you mean by do not work, you can't build the modules or you can't run an application ?

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

              A 1 Reply Last reply
              0
              • SGaistS SGaist

                What do you mean by do not work, you can't build the modules or you can't run an application ?

                A Offline
                A Offline
                aktay
                wrote on last edited by aktay
                #7

                @SGaist
                I mean I can't build the modules. But I solved the problem.
                I have set Qt mkspec as described on the link below.
                http://developer.toradex.com/knowledge-base/how-to-set-up-qt-creator-to-cross-compile-for-embedded-linux#Add_Kit

                Qt mkspec :

                /home/abdullah/apalis-sdk/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/usr/lib/qt5/mkspecs/linux-oe-g++
                

                In this case, there is a new error.. I am getting the following error in Qt Creator.

                10:37:58: Running steps for project quick...
                10:37:58: Starting: "/home/abdullah/apalis-sdk/sysroots/x86_64-angstromsdk-linux/usr/bin/qt5/qmake" /home/abdullah/QtApp/quick/quick.pro -spec /home/abdullah/apalis-sdk/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/usr/lib/qt5/mkspecs/linux-oe-g++ CONFIG+=debug CONFIG+=qml_debug
                10:37:58: The process "/home/abdullah/apalis-sdk/sysroots/x86_64-angstromsdk-linux/usr/bin/qt5/qmake" exited normally.
                10:37:58: Starting: "/usr/bin/make" qmake_all
                Makefile:677: warning: overriding commands for target `install_target'
                Makefile:668: warning: ignoring old commands for target `install_target'
                Makefile:681: warning: overriding commands for target `uninstall_target'
                Makefile:672: warning: ignoring old commands for target `uninstall_target'
                make: Nothing to be done for `qmake_all'.
                10:37:58: The process "/usr/bin/make" exited normally.
                10:37:58: Starting: "/usr/bin/make" 
                Makefile:677: warning: overriding commands for target `install_target'
                Makefile:668: warning: ignoring old commands for target `install_target'
                Makefile:681: warning: overriding commands for target `uninstall_target'
                Makefile:672: warning: ignoring old commands for target `uninstall_target'
                o quick main.o qrc_qml.o   -L/home/abdullah/apalis-sdk/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/usr/lib -lQt5Quick -L/home/abdullah/apalis/oe-core/build/tmp-glibc/sysroots/apalis-tk1/usr/lib/arm-linux-gnueabihf/tegra -L/home/abdullah/apalis/oe-core/build/tmp-glibc/sysroots/apalis-tk1/usr/lib -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lrt -ldl -lGL -lpthread 
                make: o: Command not found
                make: [quick] Error 127 (ignored)
                10:37:58: The process "/usr/bin/make" exited normally.
                10:37:58: Connecting to device...
                10:37:58: The remote file system has 14121 megabytes of free space, going ahead.
                10:37:58: Deploy step finished.
                10:37:58: Uploading file "/home/abdullah/QtApp/build-quick-Toradex-Debug/quick"...
                10:37:58: Failed to upload file "/home/abdullah/QtApp/build-quick-Toradex-Debug/quick": Could not open for reading.
                10:37:58: Deploy step failed.
                Error while building/deploying project quick (kit: Toradex)
                When executing step "Upload files via SFTP"
                10:37:58: Elapsed time: 00:00.
                
                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  Looks like your mkspec contains an error since you just have o rather linux-oe-g++.

                  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

                  • Login

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