Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Create embedded QT Gui applications for a Bananapi-M2-Zero
Qt 6.12 LTS is out! See what's new in the release blog

Create embedded QT Gui applications for a Bananapi-M2-Zero

Scheduled Pinned Locked Moved Solved Mobile and Embedded
17 Posts 2 Posters 3.5k 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.
  • L Offline
    L Offline
    lo38230
    wrote on last edited by
    #7

    It is qt-everywhere-opensource-src-5.5.1 according to your adviced website, I substituted gnueabi by gnueabihf.
    By default on my PC Ubuntu 20 64 bits is this single file called:
    /usr/bin/openssl : ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4d2003d01494e5fd39293fdc8379c406d6b641b2, for GNU/Linux 3.2.0, stripped

    Otherwise I have this old version file used by an old system (not arm) with qt 4.8
    ... /platform/sysroot-target/usr/bin/openssl: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.23, with debug_info, not stripped

    A few month ago I compiled the operating system Ubuntu MATE image (BPI-M2P-bsp-4.4) for my BananaPi M2 zero. It was successful and it actually works. I remember I had to create
    /usr/lib/arm-liunx-gnueabihf and put some things into manually regarding the error messages. The compilation of Qt seems to use this folder too. In this folder there is
    /usr/lib/arm-linux-gnueabihf/openssl-1.0.0/engines
    with
    lib4758cca.so
    libaep.so
    libatalla.so
    libcapi.so
    libchil.so
    libcswift.so
    libgmp.so
    libgost.so
    libnuron.so
    libpadlock.so
    libsureware.so
    libubsec.so

    In the package for the os compilation there is

    ... /BPI-M2P-bsp-4.4/sunxi-pack/pctools/linux/openssl
    containing:
    create_toc0
    dragonsecboot
    genrsa
    rec
    rsa
    x509

    there is a sourcecode three in:
    ... /BPI-M2P-bsp-4.4/u-boot-sunxi/lib/openssl

    There is a library three in another operating system package (BPI-M2Z) that I could not compile
    ... /BPI-M2Z/sysroot/usr/lib/arm-linux-gnueabihf/openssl-1.0.0/
    a single library
    ... /BPI-M2Z/sysroot/usr/lib/arm-linux-gnueabihf/ruby/2.5.0/openssl.so
    some pyton sourcecodes in
    ... /BPI-M2Z/sysroot/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl
    some ruby files in
    ... /BPI-M2Z/sysroot/usr/lib/ruby/2.5.0/openssl
    and the same three
    ... /BPI-M2Z-bsp/sunxi-pack/pctools/linux/openssl as in the BPI-M2P-bsp-4.4 package

    Perhaps I need to create a link to the os package libraries.

    I downloaded those packages:
    libssl1.0-dev_1.0.2u-1~deb9u1_armhf.deb
    libssl1.0.2-udeb_1.0.2u-1~deb9u1_armhf.udeb
    libssl1.0-dev_1.0.2n-1ubuntu5.3_armhf.deb
    but the installation fails due to dependancy.

    I downloaded
    openssl-1.0.2k.tar.gz
    which contains a configure executable, I didnt try to compile it at the moment.

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

      Just because the guide mentions 5.5.1, you shouldn't just go blindly with it. Use a recent version of Qt. This one is not supported anymore.

      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
      1
      • L Offline
        L Offline
        lo38230
        wrote on last edited by
        #9

        I downloaded from

        https://ftp.osuosl.org/pub/blfs/conglomeration/qt5/

        the package

        qt-everywhere-src-5.14.2

        containing a configure executable

        I copied
        /qtbase/mkspecs/linux-arm-gnueabi-g++/
        to
        /qtbase/mkspecs/linux-arm-gnueabihf-g++/
        according to my architecture, and adapted qmake.conf wihth armgnueabi->armgnueabihf
        The command line:
        ./configure -release -opensource -xplatform linux-arm-gnueabihf-g++ -prefix /opt/qt5-arm -no-opengl
        x11 option removed because not supported.
        At the end of the long make there is an error
        libz.so.1, required by /home/eric/qt-everywhere-src-5.14.2/qtbase/lib/libQt5Gui.so not found. I have it on my computer at several places:
        /usr/lib/i386-linux-gnu/libz.so.1
        /usr/lib/x86_64-linux-gnu/libz.so.1
        /usr/lib32/libz.so.1
        How do I specify wich to use?
        Is it in the command line? in qmake.conf? in path? perform a ln -s?

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

          It should be available from your device sysroot.

          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
          • L Offline
            L Offline
            lo38230
            wrote on last edited by
            #11

            I solved this problem by adding
            QMAKE_LIBS += -lz
            in my qmake.conf.

            But now I have :
            sh: 1: python: not found
            Project ERROR: Building QtQml requires Python.
            make: *** [Makefile:340: module-qtdeclarative-make_first] Error 3

            python is already installed on my computer.

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

              Which version of Python ?

              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
              • L Offline
                L Offline
                lo38230
                wrote on last edited by lo38230
                #13

                python3 -V

                gives

                Python 3.8.2

                ...

                ok solved by

                sudo ln -s python3 python

                in /usr/bin

                ...

                next error is:
                Project ERROR: Unknown module(s) in QT: openglextensions
                make[2]: *** [Makefile:96: sub-render-make_first-ordered] Error 3

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

                  QtQuick requires OpenGL but you disabled it.

                  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
                  1
                  • L Offline
                    L Offline
                    lo38230
                    wrote on last edited by
                    #15

                    Make for QT 5 arm successful
                    Make install successful

                    I create a new basic application Qt 5.14.2 Widgets. Ok With default kit.

                    When I select arm-linux-gnueabihf I have some compile errors:

                    /opt/qt5-arm/include/QtCore/qbasicatomic.h:61:4: error: #error "Qt requires C++11 support"

                    /opt/qt5-arm/include/QtCore/qbasicatomic.h:97:23: error: ‘QAtomicOpsSupport’ was not declared in this scope

                    /opt/qt5-arm/include/QtCore/qbasicatomic.h:99:14: error: ‘Ops’ has not been declared

                    /opt/qt5-arm/include/QtCore/qbasicatomic.h:238:13: error: ‘QAtomicOps’ does not name a type

                    /opt/qt5-arm/include/QtCore/qbasicatomic.h:97:51: error: ‘::IsSupported’ has not been declared

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

                      Did you properly create a kit using your cross-compiled Qt ?

                      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
                      • L Offline
                        L Offline
                        lo38230
                        wrote on last edited by lo38230
                        #17

                        Yes , I added my cross compiled(I remember I had to remove the -no-c++11 of ./configure command because it was not recognized) QT Version Qt 5.14.2(qt5-arm) /opt/qt5-arm/bin/qmake in Qc Kits and it is accepted.
                        I added the compilers with the package you give me:
                        gcc Linaro
                        /home/eric/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin/arm-linux-gnueabihf-gcc
                        g++ Linaro
                        /home/eric/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin/arm-linux-gnueabihf-g++
                        I could not add the debugger arm-Debugger from your package
                        /home/eric/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin/arm-linux-gnueabihf-gdb
                        It is not recognized by Qc. I selected GDB multiarch(/usr/bin/gdb-multiarch) which I already have.

                        Perhaps I should have version 5.14 of compilers and debugger?

                        As device I have generic Linux device, Qt mkspec is empty.
                        How should I configure the separated device BananaPi M2 Zero connected trough Ethernet with address 192.168.1.110 to my development PC with Ubuntu Linux? Should I create something else as generic Linux Device?

                        ...

                        Problem solved by selecting most recent compilers.

                        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
                        • Unsolved