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. Create embedded QT Gui applications for a Bananapi-M2-Zero
Forum Updated to NodeBB v4.3 + New Features

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

Scheduled Pinned Locked Moved Solved Mobile and Embedded
17 Posts 2 Posters 2.2k 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #6

    Which version of Qt are you building exactly now ?
    Which exact version of OpenSSL do you have at hand for your target ?

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