Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Solved Deploy on BBB: cannot execute binary file: Exec format error

    Installation and Deployment
    4
    21
    6177
    Loading More Posts
    • 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.
    • A
      Andrey Shmelew last edited by Andrey Shmelew

      Hello to all!

      Host machine: VirtualBox Ubuntu 14.04 32 bit with Qt 5.5.1 installed on it
      Device: BeagleBone Black with debian 8.4 on it.

      I try to deploy any of example project on my BeagleBone Black board.

      So when i compile my Application for Desktop QT 5.5.1, on ubuntu, it goes good,
      but when i tried to upload my application on the Board, following https://www.youtube.com/watch?v=kP7uvOu9hoQ&t=525s, QT says:
      stdin: is not a tty
      bash: /home/root/coding: cannot execute binary file: Exec format error
      Application ended with error code 126 (Приложение завершилось с кодом 126).
      i used for this gcc (x86 32bit) compiler. i know that it's wrong compiler.

      alternate text

      When i choose right (in my mind) compiler arm-linux-gnueabi-gcc, an error "ompiler cannot produce code"

      alternate text

      Please see screenshots (sorry for cyrillic)
      i googled tons of pages, and still cannot deploy nothing on the board,
      spend weeks trying to crosscompile my app for beaglebone black , please help me

      1 Reply Last reply Reply Quote 0
      • VRonin
        VRonin last edited by

        Image upload did not work, please use an external service, see https://forum.qt.io/topic/62615/how-to-insert-image-on-this-forum

        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
        ~Napoleon Bonaparte

        On a crusade to banish setIndexWidget() from the holy land of Qt

        A 1 Reply Last reply Reply Quote 0
        • A
          Andrey Shmelew @VRonin last edited by

          @VRonin is it better now?

          1 Reply Last reply Reply Quote 0
          • SGaist
            SGaist Lifetime Qt Champion last edited by

            Hi,

            Something's not clear from your description, did you cross-compile Qt for your BBB ?

            From what you wrote it looks like you first tried to run the x86 version of your application on your BBB and then you tried to compile your application with an ARM toolchain but still using your desktop version of Qt.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            A 1 Reply Last reply Reply Quote 1
            • A
              Andrey Shmelew @SGaist last edited by Andrey Shmelew

              @SGaist

              Hi,

              Yes, i tried to crosscompile QT for my BBB,

              First I tried to run the x86 version of my application on my BBB and then i tried to compile application with an ARM toolchain but still using my desktop version of Qt, and it naturally did not work. So i tried to configure my QT opensource 5.5.1 on host ubuntu for BBB, and when i selected arm-linux-gnueabi-gcc, an error appeared: "Compiler "Compiler BBB" (arm-linux-generic-elf-32bit) cannot produce code for profile QT "QT 5.5.1 GCC 32bit" (x86-linux-generic-elf-32bit)". By the way, BBB Device responded normally, i can see list of processes.

              P.S. There is qt creator 4 installed on BBB, but i want develop project only on PC

              A 1 Reply Last reply Reply Quote 0
              • A
                Andrey Shmelew @Andrey Shmelew last edited by

                i suppose i need to change qt profile from x86 to arm, but i can not find qmake file for arm

                jsulm 1 Reply Last reply Reply Quote 0
                • jsulm
                  jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                  @Andrey-Shmelew How did you call configure?

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    Andrey Shmelew @jsulm last edited by Andrey Shmelew

                    @jsulm

                    after qt 5 install :
                    1 - added new kit
                    2 - added device type (generic Linux Device)
                    3 - added a device (linux device), ip address 192.168.7.2, port 22
                    4 - added GCC compiler, armv8l-linux-gnueabi-g

                    this step i can not do because can't find qmake file:
                    5 - added QT version with qmake file for arm

                    jsulm 1 Reply Last reply Reply Quote 0
                    • jsulm
                      jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                      @Andrey-Shmelew said in Deploy on BBB: cannot execute binary file: Exec format error:

                      added QT version with qmake file for arm

                      Well, you need Qt built for ARM. That means you need to download Qt source code, call configure with correct parameters and then make;make install. qmake will be built during compilation. When you have Qt build for ARM then you can build your app for ARM.

                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                      A 1 Reply Last reply Reply Quote 2
                      • A
                        Andrey Shmelew @jsulm last edited by Andrey Shmelew

                        @jsulm
                        thanks,
                        but i have never compiled QT From source code, so will you provide me a good tutorial?
                        by the way, on this video https://youtu.be/eLr35wUrz6Q?t=248 the author just points qmake file

                        alternate text

                        jsulm 1 Reply Last reply Reply Quote 0
                        • jsulm
                          jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                          @Andrey-Shmelew Apparently the author already has an ARM build.
                          Cross compilation is not an easy task. I don't have any tutorial.
                          But you can search on internet, here is one for RaspberryPi: https://wiki.qt.io/RaspberryPi_Beginners_Guide

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          A 1 Reply Last reply Reply Quote 1
                          • A
                            Andrey Shmelew @jsulm last edited by Andrey Shmelew

                            This post is deleted!
                            A 1 Reply Last reply Reply Quote 0
                            • A
                              Andrey Shmelew @Andrey Shmelew last edited by

                              @Andrey-Shmelew

                              i have built qt for BBB as described in the link i posted in previous post and it finally works! I can deploy my QT project now. WOW!!! But not all projects. (sad)
                              Because of some reason apps that are built with qtquick does not start!
                              But there are a lot of videos with QtQuick running on BBB (for ex. https://www.youtube.com/watch?v=eDrBCzNSWaQ)
                              i think it happens because of absent of necessary drivers.
                              how can i start qtquick app on BBB,
                              could anybody help me with this problem?

                              jsulm 1 Reply Last reply Reply Quote 0
                              • jsulm
                                jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                                @Andrey-Shmelew As far as I know QtQuick requires OpenGL?

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  Andrey Shmelew @jsulm last edited by

                                  @jsulm
                                  Right! And as far as i know BBB does not have GPU.
                                  But if you look at the video u can see working qtquick. (who knows maybe it is a cheating).
                                  is it possible to make QtQuick without openGL using?
                                  Thanks!

                                  jsulm 1 Reply Last reply Reply Quote 0
                                  • jsulm
                                    jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                                    @Andrey-Shmelew Probably software rendering. But I don't know how to activate it. Maybe anybody else knows?

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    A 1 Reply Last reply Reply Quote 1
                                    • A
                                      Andrey Shmelew @jsulm last edited by

                                      @jsulm
                                      there is a Qt Quick 2D Renderer, that works instead OpnGL ES 2 on boards without GPU like BBB, seems to be good for me.
                                      As described, i should use :
                                      export QMLSCENE_DEVICE=softwarecontext
                                      but i have no idea what does this string mean.
                                      Any thoughts?

                                      jsulm 1 Reply Last reply Reply Quote 0
                                      • jsulm
                                        jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                                        @Andrey-Shmelew It defines environment variable QMLSCENE_DEVICE and assigns it "softwarecontext" as value. I guess QtQuick checks that variable and activates software rendering if it is set to "softwarecontext".
                                        So, you first set this variable and then (in the same console) you start your application.

                                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        A 1 Reply Last reply Reply Quote 1
                                        • A
                                          Andrey Shmelew @jsulm last edited by

                                          mark as solved, please

                                          jsulm 1 Reply Last reply Reply Quote 0
                                          • jsulm
                                            jsulm Lifetime Qt Champion @Andrey Shmelew last edited by

                                            @Andrey-Shmelew Sorry, it's your thread you should mark it as solved.

                                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post