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. Please help me compile QT5 on armv7
Forum Updated to NodeBB v4.3 + New Features

Please help me compile QT5 on armv7

Scheduled Pinned Locked Moved Mobile and Embedded
9 Posts 3 Posters 5.0k 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.
  • J Offline
    J Offline
    jshafer817
    wrote on last edited by jshafer817
    #1

    I am trying to natively compile QT5.4.2 on Arm.

    I configure like this:
    arch@honeybadger qt-everywhere-opensource-src-5.4.2]$ ./configure -confirm-license -opensource -prefix /usr -bindir /usr/lib/qt/bin -docdir /usr/share/doc/qt -headerdir /usr/include/qt -archdatadir /usr/lib/qt -datadir /usr/share/qt -sysconfdir /etc/xdg -examplesdir /usr/share/doc/qt/examples -plugin-sql-{psql,mysql,sqlite,odbc} -system-sqlite -openssl-linked -nomake examples -nomake tests -no-rpath -optimized-qmake -dbus-linked -system-harfbuzz -journald -libinput -no-use-gold-linker -no-reduce-relocations -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -opengl es2 -v -device-option DISTRO_OPTS=hard-float -skip qtwebengine -xplatform armv7l-unknown-linux-gnueabihf

    and I end up with this: ( I have libinput, I think it has something to do with unknown architecture?)

    /qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qlocale_unix.cpp
    g++ -o "/home/arch/qt/qt-everywhere-opensource-src-5.4.2/qtbase/bin/qmake" project.o option.o property.o main.o ioutils.o proitems.o qmakevfs.o qmakeglobals.o qmakeparser.o qmakeevaluator.o qmakebuiltins.o makefile.o unixmake2.o unixmake.o mingw_make.o winmakefile.o projectgenerator.o meta.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o msvc_vcproj.o msvc_vcxproj.o msvc_nmake.o msvc_objectmodel.o msbuild_objectmodel.o gbuild.o cesdkhandler.o qtextcodec.o qutfcodec.o qstring.o qstring_compat.o qstringbuilder.o qtextstream.o qiodevice.o qdebug.o qmalloc.o qglobal.o qarraydata.o qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlist.o qfiledevice.o qfile.o qfilesystementry.o qfilesystemengine.o qfsfileengine.o qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o qmap.o qmetatype.o qsettings.o qsystemerror.o qlibraryinfo.o qvariant.o qvsnprintf.o qlocale.o qlocale_tools.o qlinkedlist.o qnumeric.o qcryptographichash.o qxmlstream.o qxmlutils.o qlogging.o qjson.o qjsondocument.o qjsonparser.o qjsonarray.o qjsonobject.o qjsonvalue.o qfilesystemengine_unix.o qfilesystemiterator_unix.o qfsfileengine_unix.o qlocale_unix.o -Wl,--gc-sections
    Running configuration tests...
    Found pkg-config from $PATH: /usr/bin/pkg-config
    Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
    Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set.
    Determining architecture... ()
    armv7l-unknown-linux-gnueabihf-g++ -c -pipe -g -Wall -W -fPIC -I. -I../../mkspecs/armv7l-unknown-linux-gnueabihf -o arch.o arch.cpp
    armv7l-unknown-linux-gnueabihf-g++ -o arch arch.o -libinput
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:103: recipe for target 'arch' failed
    make: *** [arch] Error 1
    Unable to determine architecture!

    Could not determine the target architecture!
    Turn on verbose messaging (-v) to see the final report.
    Determining architecture... ()
    g++ -c -pipe -g -Wall -W -fPIC -I. -I../../mkspecs/linux-g++ -o arch.o arch.cpp
    g++ -o arch arch.o -libinput
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:104: recipe for target 'arch' failed
    make: *** [arch] Error 1
    Unable to determine architecture!

    Could not determine the host architecture!
    Turn on verbose messaging (-v) to see the final report.
    System architecture: 'unknown'
    Host architecture: 'unknown'
    C++11 auto-detection... ()
    armv7l-unknown-linux-gnueabihf-g++ -c -pipe -O2 -std=c++0x -Wall -W -fPIC -I. -I../../../mkspecs/armv7l-unknown-linux-gnueabihf -o c++11.o c++11.cpp
    armv7l-unknown-linux-gnueabihf-g++ -Wl,-O1 -o c++11 c++11.o -libinput
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:104: recipe for target 'c++11' failed
    make: *** [c++11] Error 1
    C++11 disabled.
    floatmath auto-detection... ()
    armv7l-unknown-linux-gnueabihf-g++ -c -pipe -O2 -Wall -W -fPIC -I. -I../../../mkspecs/armv7l-unknown-linux-gnueabihf -o floatmath.o floatmath.cpp
    armv7l-unknown-linux-gnueabihf-g++ -Wl,-O1 -o floatmath floatmath.o -libinput
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:103: recipe for target 'floatmath' failed
    make: *** [floatmath] Error 1
    floatmath disabled.
    zlib auto-detection... ()
    armv7l-unknown-linux-gnueabihf-g++ -c -pipe -O2 -Wall -W -fPIC -I. -I../../../mkspecs/armv7l-unknown-linux-gnueabihf -o zlib.o zlib.cpp
    zlib.cpp: In function ‘int main(int, char**)’:
    zlib.cpp:38:15: warning: variable ‘stream’ set but not used [-Wunused-but-set-variable]
    z_streamp stream;
    ^
    zlib.cpp:40:17: warning: variable ‘ver’ set but not used [-Wunused-but-set-variable]
    const char *ver = zlibVersion();
    ^
    zlib.cpp:43:9: warning: variable ‘res’ set but not used [-Wunused-but-set-variable]
    int res = compress2(0, 0, 0, 0, 1);
    ^
    armv7l-unknown-linux-gnueabihf-g++ -Wl,-O1 -o zlib zlib.o -libinput -lz
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:103: recipe for target 'zlib' failed
    make: *** [zlib] Error 1
    zlib disabled.
    mtdev auto-detection... ()
    armv7l-unknown-linux-gnueabihf-g++ -c -pipe -O2 -Wall -W -fPIC -I. -I../../../mkspecs/armv7l-unknown-linux-gnueabihf -o mtdev.o mtdev.cpp
    armv7l-unknown-linux-gnueabihf-g++ -Wl,-O1 -o mtdev mtdev.o -libinput -lmtdev
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:104: recipe for target 'mtdev' failed
    make: *** [mtdev] Error 1
    mtdev disabled.
    journald auto-detection... ()
    armv7l-unknown-linux-gnueabihf-gcc -c -pipe -O2 -Wall -W -fPIC -I. -I../../../mkspecs/armv7l-unknown-linux-gnueabihf -o journald.o journald.c
    journald.c: In function ‘main’:
    journald.c:37:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
    int main(int argc, char **argv)
    ^
    journald.c:37:27: warning: unused parameter ‘argv’ [-Wunused-parameter]
    int main(int argc, char **argv)
    ^
    armv7l-unknown-linux-gnueabihf-g++ -Wl,-O1 -o journald journald.o -libinput -lsystemd
    /usr/bin/ld: cannot find -libinput
    collect2: error: ld returned 1 exit status
    Makefile:104: recipe for target 'journald' failed
    make: *** [journald] Error 1
    journald disabled.
    journald support cannot be enabled due to functionality tests!
    Turn on verbose messaging (-v) to /home/arch/qt/qt-everywhere-opensource-src-5.4.2/qtbase/configure to see the final report.
    If you believe this message is in error you may use the continue
    switch (-continue) to /home/arch/qt/qt-everywhere-opensource-src-5.4.2/qtbase/configure to continue.
    [arch@honeybadger qt-everywhere-opensource-src-5.4.2]$

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

      Hi and welcome to devnet,

      You should add which distribution you are using. Also, did you install all required dev packages ?

      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
      • J Offline
        J Offline
        jshafer817
        wrote on last edited by jshafer817
        #3

        Thanks! Oh yeah that would be good to do. ArchLinuxArm is what I am using. I am using an HP Touchpad with libhybris which offers a hwcomposer plugin that works with android but only up to Qt 5.4. The problem is arch went to qt5.5 and I need a package to build something called hawaii. Old packages are not available, so I thought I would take a stab at compiling on the device.

        I tried creating a qmake.conf directory in qtbase/mkspecs as you might be able to tell, no matter what I do, I get these errors.

        I originally was trying to use makepkg but I get the same error.

        https://github.com/archlinuxarm/PKGBUILDs/blob/master/extra/qt5/PKGBUILD

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

          Looks like currently you are missing the libinput package

          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
          • J Offline
            J Offline
            jshafer817
            wrote on last edited by jshafer817
            #5

            That is what I thought, but it is installed. I am already using it to run qml-composer. I already have qt5 installed and working for weston, I just wanted to compile my own qt5.4.2...

            I can compile qtwayland....

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

              Is the library in some place exotic on your system ?

              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
              • J Offline
                J Offline
                jshafer817
                wrote on last edited by
                #7

                Don't think so.

                From the /usr folder I did the find command. I do have /lib but that is just a symbolic link to /usr/lib...

                [arch@honeybadger usr]$ sudo find . | grep libinput
                ./bin/libinput-list-devices
                ./bin/libinput-debug-events
                ./lib/pkgconfig/libinput.pc
                ./lib/pkgconfig/xorg-libinput.pc
                ./lib/xorg/modules/input/libinput_drv.so
                ./lib/libinput.so
                ./lib/udev/rules.d/80-libinput-device-groups.rules
                ./lib/udev/rules.d/90-libinput-model-quirks.rules
                ./lib/udev/hwdb.d/90-libinput-model-quirks.hwdb
                ./lib/udev/libinput-device-group
                ./lib/libinput.so.10
                ./lib/libinput.so.10.3.0
                ./include/xorg/libinput-properties.h
                ./include/libinput.h
                ./share/man/man4/libinput.4.gz
                ./share/man/man1/libinput-list-devices.1.gz
                ./share/man/man1/libinput-debug-events.1.gz
                ./share/X11/xorg.conf.d/90-libinput.conf
                ./share/licenses/libinput
                ./share/licenses/libinput/COPYING
                ./share/licenses/xf86-input-libinput
                ./share/licenses/xf86-input-libinput/COPYING

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

                  Can you try again without the -libinput option ? It should be auto-detected

                  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
                  • dylonD Offline
                    dylonD Offline
                    dylon
                    wrote on last edited by
                    #9

                    I'm running Arch Linux as well, and have encountered this issue. The libsystemd-journal package has been merged into libsystemd, so you need to update Qt's configs accordingly. Drop the "-journal" suffix from "libsystemd-journald" (to just, "libsystemd") in the following files:

                    • qtbase/config.tests/unix/journald/journald.pro
                    • qtbase/src/corelib/global/global.pri

                    For example, here are the patches I applied to make get Qt to compile:

                    --- qtbase/src/corelib/global/global.pri.orig   2016-03-01 11:37:50.658512771 -0800
                    +++ qtbase/src/corelib/global/global.pri        2016-03-01 11:37:57.835221806 -0800
                    @@ -51,6 +51,6 @@
                    
                     journald {
                         CONFIG += link_pkgconfig
                    -    PKGCONFIG_PRIVATE += libsystemd-journal
                    +    PKGCONFIG_PRIVATE += libsystemd
                         DEFINES += QT_USE_JOURNALD
                     }
                    
                    --- qtbase/config.tests/unix/journald/journald.pro.orig 2016-03-01 11:37:17.991653274 -0800
                    +++ qtbase/config.tests/unix/journald/journald.pro      2016-03-01 11:37:22.671680898 -0800
                    @@ -1,6 +1,6 @@
                     SOURCES = journald.c
                    
                     CONFIG += link_pkgconfig
                    -PKGCONFIG_PRIVATE += libsystemd-journal
                    +PKGCONFIG_PRIVATE += libsystemd
                    
                     CONFIG -= qt
                    
                    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