Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Unknown module(s) in QT: quick qml
Forum Updated to NodeBB v4.3 + New Features

Unknown module(s) in QT: quick qml

Scheduled Pinned Locked Moved Solved Installation and Deployment
19 Posts 6 Posters 66.0k Views 1 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.
  • X Offline
    X Offline
    Xooch
    wrote on last edited by
    #3

    I don't believe I did.

    Is there a log of the build results somewhere? I did an out-of-tree build and cannot find one. It would be nice to know if an error had occured during the build, although I assume there were no errors since there was no message at the end of the build...

    I did specifically turn off glib support with "-no-glib", because configure would not complete without that option. From what I read around the 'net, glib doesn't seem like a requirement to get Quick working.

    Here is the configure command line I used, as well as the qmake.conf from the device directory:

    @./configure -debug -opengl es2 -device linux-am335x-g++ -device-option CROSS_COMPILE=/home/steve/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- -sysroot /home/steve/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/cortexa8hf-vfp-neon-3.8-oe-linux-gnueabi -prefix /home/steve/ti-sdk-am335x-evm-07.00.00.00/targetNFS -no-glib
    @

    Here is the qmake.conf:

    @MAKEFILE_GENERATOR = UNIX
    CONFIG += incremental gdb_dwarf_index
    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 = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard

    #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}

    Sanity check

    deviceSanityCheckCompiler()

    load(qt_config)
    @

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #4

      Hm, that looks correct. I do not know how to help, sorry. I guess something has failed along the way, maybe the modules were compiled but not installed properly.

      (Z(:^

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mib383
        wrote on last edited by
        #5

        I solved the same problem on windows.
        Problem occured when i started config and then make from qbase folder.
        When i started it from Src folder - problem dissapeared.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mib383
          wrote on last edited by
          #6

          See readme file in Src folder

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mib383
            wrote on last edited by
            #7

            Src i mean - is root folder with qt source

            1 Reply Last reply
            0
            • JKSHJ Offline
              JKSHJ Offline
              JKSH
              Moderators
              wrote on last edited by
              #8

              [quote author="mib383" date="1402037969"]I solved the same problem on windows.
              Problem occured when i started config and then make from qbase folder.
              When i started it from Src folder - problem dissapeared.[/quote]Yes, you are supposed to build from the root folder, not qtbase.

              Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

              1 Reply Last reply
              0
              • X Offline
                X Offline
                Xooch
                wrote on last edited by
                #9

                In my situation I did build from the root folder, and performed the build out-of-tree. I created a directory, and called configure from that directory, did the make and make install.

                It does turn out to be an installation problem - the libraries were actually built. For example, I found ./qtdeclarative/lib/libQt5Qml.so in my build tree.

                When I go to Options | Build & Run, on the Qt Versions tab, I've added the qmake that is in my build directory, but there is a warning "Non-installed -prefix build - for internal development only." What is this warning?

                Also, when during the build is it trying to find the quick and QML libraries? It's not looking on the target as far as I can tell, so what is telling Creator that these libraries exist (or don't)?

                1 Reply Last reply
                0
                • sierdzioS Offline
                  sierdzioS Offline
                  sierdzio
                  Moderators
                  wrote on last edited by
                  #10

                  Out-of-source prefixed builds are not working very well when cross-compiling. I recommend doing in-source builds when compiling for ARM and Android.

                  (Z(:^

                  1 Reply Last reply
                  0
                  • X Offline
                    X Offline
                    Xooch
                    wrote on last edited by
                    #11

                    Ok, so I reconfigured and re-built using a fresh source tree, and I configured, make, make install from that source tree. This time I'm pretty sure I got everything installed properly: I added the -extprefix option to configure, which appears to be the real cause of the missing libraries.

                    However, I'm still having the same problem from Creator. The quick and qml libraries are definitely on my target. I've updated my kit to point to the appropriate things, but I still get "unknown module(s) in QT: quick qml", and I still get the yellow "!" on the Qt Versions tab when setting up the kit, with the message "non-installed -prefix build - for internal development only".

                    Any further suggestions? It seems like the "non-installed -prefix build" is probably the error I need fixed next, I believe.

                    For the record, here is my new configure command line:

                    @./configure -debug -opengl es2 -device linux-am335x-g++ -device-option CROSS_COMPILE=/home/steve/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- -sysroot /home/steve/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/cortexa8hf-vfp-neon-3.8-oe-linux-gnueabi -prefix /home/steve/ti-sdk-am335x-evm-07.00.00.00/targetNFS -extprefix /home/steve/ti-sdk-am335x-evm-07.00.00.00/targetNFS -no-glib -qpa eglfs -opensource -confirm-license@

                    1 Reply Last reply
                    0
                    • sierdzioS Offline
                      sierdzioS Offline
                      sierdzio
                      Moderators
                      wrote on last edited by
                      #12

                      Please pay close attention what the configure says when it's finishing: maybe you should not be running "make install" at all.

                      (Z(:^

                      1 Reply Last reply
                      0
                      • X Offline
                        X Offline
                        Xooch
                        wrote on last edited by
                        #13

                        I have to, though - somehow the necessary files need to get into my target filesystem. I did re-run configure to find the message you're talking about (I've seen it, but I can't remember the details), but that message did not appear. Also, I don't think I fit into the category of "must not run make install".

                        Here are the messages printed at the end of configure:

                        NOTE: Qt is using double for qreal on this system. This is binary incompatible against Qt 5.1.
                        Configure with '-qreal float' to create a build that is binary compatible with 5.1.

                        Qt is now configured for building. Just run 'make'.
                        Once everything is built, you must run 'make install'.
                        Qt will be installed into /home/steve/ti-sdk-am335x-evm-07.00.00.00/targetNFS

                        1 Reply Last reply
                        0
                        • sierdzioS Offline
                          sierdzioS Offline
                          sierdzio
                          Moderators
                          wrote on last edited by
                          #14

                          Yeah, you are right. Weird :)

                          (Z(:^

                          1 Reply Last reply
                          0
                          • X Offline
                            X Offline
                            Xooch
                            wrote on last edited by
                            #15

                            Perhaps this might shed some light? I'm not sure though...

                            When setting up the Qt Version in the Options dialog, the paths for Qt are displayed like the image below. It appears most of these paths points to spots in the Qt source tree, not to where the actual installation is.

                            My installation should go to /home/steve/ti-sdk-am335x-evm-07.00.00.00/targetNFS, which is the directory I'm exporting via NFS.

                            !http://i.imgur.com/wvwpHjw.png(Qt kit details)!

                            1 Reply Last reply
                            0
                            • X Offline
                              X Offline
                              Xooch
                              wrote on last edited by
                              #16

                              I just reconfigured and re-built (with a fresh source tree), removing the -prefix option (thinking it might be conflicting with -extprefix), but no luck. AAARGH!

                              1 Reply Last reply
                              0
                              • X Offline
                                X Offline
                                Xooch
                                wrote on last edited by
                                #17

                                As it turns out, I needed to point Creator to the qmake of the target, not to qtbase/bin/qmake in my build tree.

                                Which them leads to a new question: How does Creator make use of a binary built for a different architecture?!? It’s definately not running “qmake -query QT_SOME_VAR” on my embedded device!

                                1 Reply Last reply
                                0
                                • B Offline
                                  B Offline
                                  bootchk
                                  wrote on last edited by
                                  #18

                                  Please, what exactly did you do to 'point Creator to the qmake of the target'?

                                  I think Creator is running /usr/bin/qmake, which is not the qmake from the android kit. I suppose I could use a link, but is there another way?

                                  I think Creator uses qmake not only to generate a makefile, but to query locations in the kit. So if it uses /usr/bin/qmake, it doesn't find the quick module (which is not installed on the original Ubuntu installation of Qt 5.2.1) But if it uses ~/Qt/5.3/android/bin/qmake, it would find the quick module.

                                  1 Reply Last reply
                                  0
                                  • W Offline
                                    W Offline
                                    W. Fiderek
                                    wrote on last edited by
                                    #19

                                    Had same issue on lubuntu and Qt 5.2.1.
                                    I removed Qt configuration files from .config folder in my home dir.
                                    rm -r ~.config/QtProject
                                    rm ~.config/QtProject.conf

                                    Reconfigure project again and all works as expected

                                    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