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
QtWS25 Last Chance

Please help me compile QT5 on armv7

Scheduled Pinned Locked Moved Mobile and Embedded
9 Posts 3 Posters 5.0k Views
  • 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