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. How do I setup a kit to crosscompile for Raspbian for the Pi3?
Forum Updated to NodeBB v4.3 + New Features

How do I setup a kit to crosscompile for Raspbian for the Pi3?

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
27 Posts 7 Posters 5.8k Views 3 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.
  • aha_1980A aha_1980

    @graniteDev said in How do I setup a kit to crosscompile for Raspbian for the Pi3?:

    I don't have the compiler, but I don't know why it's missing.

    Huh? Either you have it, or not. In your configure line, you told configure to use the toolchain CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-.

    Did you mean .../usr/bin/arm-linux-gnueabihf- ?

    Or where is your cross-toolchain installed?

    G Offline
    G Offline
    graniteDev
    wrote on last edited by
    #11
    This post is deleted!
    aha_1980A 1 Reply Last reply
    0
    • G graniteDev

      This post is deleted!

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by
      #12

      @graniteDev

      You still didn't answer my question:

      Or where is your cross-toolchain installed?

      In other words, where is arm-linux-gnueabihf-g++ located?

      So I honestly don't know if that's right or wrong because i'm not at all familiar with this process.

      If you like it or not, cross-compiling is an advanced topic which requires deep understanding of the involved tools.

      You should probably start cross-compiling a "hello world" application before trying a large library like Qt.

      Qt has to stay free or it will die.

      1 Reply Last reply
      0
      • G Offline
        G Offline
        graniteDev
        wrote on last edited by
        #13

        So i search for the compiler after digging into the details and the error appears to be in error. That entire path that it says doesn't exist, does exist.

        /home/brandon/development/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++

        I can cd into that last bin directory and there are about 2 dozen compilers in there and arm-linux-gnueabihf-g++ is in there. for some reason it appends g++ to the string which is why the instructions have you only put " arm-linux-gnueabihf-"

        So now I understand better what it wants, but not why it can't find it.

        aha_1980A 1 Reply Last reply
        0
        • G graniteDev

          So i search for the compiler after digging into the details and the error appears to be in error. That entire path that it says doesn't exist, does exist.

          /home/brandon/development/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++

          I can cd into that last bin directory and there are about 2 dozen compilers in there and arm-linux-gnueabihf-g++ is in there. for some reason it appends g++ to the string which is why the instructions have you only put " arm-linux-gnueabihf-"

          So now I understand better what it wants, but not why it can't find it.

          aha_1980A Offline
          aha_1980A Offline
          aha_1980
          Lifetime Qt Champion
          wrote on last edited by
          #14

          @graniteDev

          Ok, so the paths are 100% the same? Does the compiler arm-linux-gnueabihf-g++ have the executable bit set? Sometimes you also have to call an "enviroment-setup" script to use the cross toolchain, not sure if that applies to your toolchain also.

          Btw: arm-linux-gnueabihf- is the cross-toolchain-prefix, which tells you that the compiler produces "arm" executables for linux. "hf" stands for hardware floating point support and "gnueabi", I honestly would have to google it ;) g++ is just the GNU GCC C++ compiler. Your normal compiler is therefore called g++, and the cross-compiler is called arm-linux-gnueabihf-g++.

          Qt has to stay free or it will die.

          G 1 Reply Last reply
          1
          • aha_1980A aha_1980

            @graniteDev

            Ok, so the paths are 100% the same? Does the compiler arm-linux-gnueabihf-g++ have the executable bit set? Sometimes you also have to call an "enviroment-setup" script to use the cross toolchain, not sure if that applies to your toolchain also.

            Btw: arm-linux-gnueabihf- is the cross-toolchain-prefix, which tells you that the compiler produces "arm" executables for linux. "hf" stands for hardware floating point support and "gnueabi", I honestly would have to google it ;) g++ is just the GNU GCC C++ compiler. Your normal compiler is therefore called g++, and the cross-compiler is called arm-linux-gnueabihf-g++.

            G Offline
            G Offline
            graniteDev
            wrote on last edited by
            #15

            @aha_1980

            Double checked, yes it has the execution bit set for own, group and everyone else. I've added that bin to the path for good measure.

            Here is something odd. If I cd into that bin directory and

            ./arm-linux-gnueabihf-g++
            

            the result

            bash: ./arm-linux-gnueabihf-g++: No such file or directory
            

            What seriously is wrong? The file is right in that directory! It even autocompletes for me! I really don't get this.

            aha_1980A 1 Reply Last reply
            0
            • G graniteDev

              @aha_1980

              Double checked, yes it has the execution bit set for own, group and everyone else. I've added that bin to the path for good measure.

              Here is something odd. If I cd into that bin directory and

              ./arm-linux-gnueabihf-g++
              

              the result

              bash: ./arm-linux-gnueabihf-g++: No such file or directory
              

              What seriously is wrong? The file is right in that directory! It even autocompletes for me! I really don't get this.

              aha_1980A Offline
              aha_1980A Offline
              aha_1980
              Lifetime Qt Champion
              wrote on last edited by
              #16

              @graniteDev

              Puh, that's getting a tough one. But I don't give up yet. Can you please do a file ./arm-linux-gnueabihf-g++ in that directory and post the output here?

              Qt has to stay free or it will die.

              G 1 Reply Last reply
              0
              • aha_1980A aha_1980

                @graniteDev

                Puh, that's getting a tough one. But I don't give up yet. Can you please do a file ./arm-linux-gnueabihf-g++ in that directory and post the output here?

                G Offline
                G Offline
                graniteDev
                wrote on last edited by
                #17

                @aha_1980

                No problem:

                ./arm-linux-gnueabihf-g++: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, stripped
                

                ok....is it a problem that that says intel and I'm running amd?

                aha_1980A 1 Reply Last reply
                0
                • G graniteDev

                  @aha_1980

                  No problem:

                  ./arm-linux-gnueabihf-g++: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, stripped
                  

                  ok....is it a problem that that says intel and I'm running amd?

                  aha_1980A Offline
                  aha_1980A Offline
                  aha_1980
                  Lifetime Qt Champion
                  wrote on last edited by
                  #18

                  @graniteDev

                  Ok, I think you your problem is, that this toolchain is for 32-Bit PC (i.e. x86), while you are probably running a 64 bit system (i.e. x86_64, you can check with the arch command).

                  It might be possible to get this to run, but I'd rather recommend you to get a toolchain that directly runs on your system. you avoid the memory limits of 32 bit architecture with that also.

                  So far...

                  Qt has to stay free or it will die.

                  G 2 Replies Last reply
                  0
                  • aha_1980A aha_1980

                    @graniteDev

                    Ok, I think you your problem is, that this toolchain is for 32-Bit PC (i.e. x86), while you are probably running a 64 bit system (i.e. x86_64, you can check with the arch command).

                    It might be possible to get this to run, but I'd rather recommend you to get a toolchain that directly runs on your system. you avoid the memory limits of 32 bit architecture with that also.

                    So far...

                    G Offline
                    G Offline
                    graniteDev
                    wrote on last edited by
                    #19

                    @aha_1980 Hmm...ok, maybe I missunderstood some of the instruction when it talked about 64bit. I assumed it was talking about the pi, which is 32bit, but yeah it's a brand new Ryzen machine, it's 64 bit.

                    I'll have to come back to this later today, but thank you for that. I'll let you know what I find.

                    1 Reply Last reply
                    1
                    • aha_1980A aha_1980

                      @graniteDev

                      Ok, I think you your problem is, that this toolchain is for 32-Bit PC (i.e. x86), while you are probably running a 64 bit system (i.e. x86_64, you can check with the arch command).

                      It might be possible to get this to run, but I'd rather recommend you to get a toolchain that directly runs on your system. you avoid the memory limits of 32 bit architecture with that also.

                      So far...

                      G Offline
                      G Offline
                      graniteDev
                      wrote on last edited by graniteDev
                      #20

                      @aha_1980

                      arch command on my desktop:
                      x86_64

                      the pi:
                      armv7l

                      aha_1980A Pablo J. RoginaP 2 Replies Last reply
                      0
                      • G graniteDev

                        @aha_1980

                        arch command on my desktop:
                        x86_64

                        the pi:
                        armv7l

                        aha_1980A Offline
                        aha_1980A Offline
                        aha_1980
                        Lifetime Qt Champion
                        wrote on last edited by
                        #21

                        @graniteDev

                        Hmm...ok, maybe I missunderstood some of the instruction when it talked about 64bit. I assumed it was talking about the pi, which is 32bit

                        Don't worry, as said, cross compiling is advanced stuff ;)

                        arch command on my desktop:
                        x86_64

                        Ok, that proves it.

                        Qt has to stay free or it will die.

                        1 Reply Last reply
                        0
                        • G graniteDev

                          @aha_1980

                          arch command on my desktop:
                          x86_64

                          the pi:
                          armv7l

                          Pablo J. RoginaP Offline
                          Pablo J. RoginaP Offline
                          Pablo J. Rogina
                          wrote on last edited by
                          #22

                          @graniteDev

                          arch command on my desktop:
                          x86_64

                          If you're following the suggested RaspberryPi2EGLFS guide, in step #10 please pay attention to

                          If your system is 64 bit you may also edit device option to:

                          Upvote the answer(s) that helped you solve the issue
                          Use "Topic Tools" button to mark your post as Solved
                          Add screenshots via postimage.org
                          Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                          G 1 Reply Last reply
                          0
                          • Pablo J. RoginaP Pablo J. Rogina

                            @graniteDev

                            arch command on my desktop:
                            x86_64

                            If you're following the suggested RaspberryPi2EGLFS guide, in step #10 please pay attention to

                            If your system is 64 bit you may also edit device option to:

                            G Offline
                            G Offline
                            graniteDev
                            wrote on last edited by
                            #23

                            @Pablo-J.-Rogina

                            Ok so I added the options for 64 bit, and looks like it all worked and compiled. So then I went to do the next step which is a test build, but there is no ~/raspi/qt5/bin/qmake

                            That directory doesn't exist, so now I really don't know what the hell to do. The previous steps created the qt5 and qt5pi folders so if there are missing directories, now what?

                            1 Reply Last reply
                            0
                            • G Offline
                              G Offline
                              graniteDev
                              wrote on last edited by
                              #24

                              Ok so I got a lot farther using a different set of instructions, in fact I got to actually building in Qt Creator!!

                              However Qt Creator is failing to upload the file to the raspberry pi:

                              mkdir: cannot create directory ‘/opt/widgettest’: Permission denied
                              21:09:40: Failed to upload file "/home/brandon/development/build-widgettest-RaspPi-Release/widgettest".
                              21:09:40: Deploy step failed.
                              Error while building/deploying project widgettest (kit: RaspPi)
                              When executing step "Upload files via SFTP"
                              

                              How do I give Qt permission to do this? Do I need to dissable some security on the pi? Or add "sudo" to some commands in Qt?

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

                                You should either use credentials for your Pi that allows to write in that folder, or change the folder for something the user you use to connect to your RPi can write to.

                                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
                                0
                                • SGaistS SGaist

                                  You should either use credentials for your Pi that allows to write in that folder, or change the folder for something the user you use to connect to your RPi can write to.

                                  A Offline
                                  A Offline
                                  Asha
                                  wrote on last edited by
                                  #26

                                  even i am also getting same problem,I am very new this qt creator,I am using the ubuntu ,can you say step by step please..

                                  Pablo J. RoginaP 1 Reply Last reply
                                  0
                                  • A Asha

                                    even i am also getting same problem,I am very new this qt creator,I am using the ubuntu ,can you say step by step please..

                                    Pablo J. RoginaP Offline
                                    Pablo J. RoginaP Offline
                                    Pablo J. Rogina
                                    wrote on last edited by
                                    #27

                                    @asha said in How do I setup a kit to crosscompile for Raspbian for the Pi3?:

                                    can you say step by step please..

                                    What have you done so far? Any errors you can share here?

                                    Just in case, please refer to any of these guides:

                                    1. Cross-compile and deploy Qt 5.12 for Raspberry Pi
                                    2. RaspberryPi2EGLFS

                                    Upvote the answer(s) that helped you solve the issue
                                    Use "Topic Tools" button to mark your post as Solved
                                    Add screenshots via postimage.org
                                    Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

                                    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