Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Executable library permission?
Qt 6.11 is out! See what's new in the release blog

Executable library permission?

Scheduled Pinned Locked Moved Unsolved General and Desktop
13 Posts 5 Posters 1.4k Views 2 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.
  • C ChrisW67

    The file "PCR_" is not a library file, it is your program executable. It should have at least the u=rx attributes (but typically ugo=rx). You set the permissions the same way as you did for the shell script.

    I Offline
    I Offline
    IknowQT
    wrote on last edited by
    #4

    @ChrisW67
    If you give the executable file permission, an Exec format error occurs as an error message.

    JonBJ 1 Reply Last reply
    0
    • I IknowQT

      @ChrisW67
      If you give the executable file permission, an Exec format error occurs as an error message.

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #5

      @IknowQT
      If that is really true, then either you are not setting execute permission on an executable file but rather something else, or you have compiled the executable for a different architecture. Also you cannot execute a library.

      You might want run file /path/to/the/executable on the target system to see what it says.

      I developed and built qt in Ubuntu and completed the distribution file. After copying this distribution file to USB, I installed Raspberry Pi Ubuntu OS on the Raspberry Pi board, and the USB executable file was pasted into Raspberry Pi Ubuntu.

      I don't know what "Raspberry Pi Ubuntu OS" is. But there is no guarantee that something compiled under Ubuntu will run on another Ubuntu machine if the architectures are different.

      I 1 Reply Last reply
      0
      • JonBJ JonB

        @IknowQT
        If that is really true, then either you are not setting execute permission on an executable file but rather something else, or you have compiled the executable for a different architecture. Also you cannot execute a library.

        You might want run file /path/to/the/executable on the target system to see what it says.

        I developed and built qt in Ubuntu and completed the distribution file. After copying this distribution file to USB, I installed Raspberry Pi Ubuntu OS on the Raspberry Pi board, and the USB executable file was pasted into Raspberry Pi Ubuntu.

        I don't know what "Raspberry Pi Ubuntu OS" is. But there is no guarantee that something compiled under Ubuntu will run on another Ubuntu machine if the architectures are different.

        I Offline
        I Offline
        IknowQT
        wrote on last edited by
        #6

        @JonB

        I think the architecture is different.
        ubuntu architecture is amd64 and ubuntu uploaded to raspberry pi is arm64
        Can you build from amd64 to arm64? not compatible?
        Or do I have to make a cross-compile?

        JonBJ 1 Reply Last reply
        0
        • I IknowQT

          @JonB

          I think the architecture is different.
          ubuntu architecture is amd64 and ubuntu uploaded to raspberry pi is arm64
          Can you build from amd64 to arm64? not compatible?
          Or do I have to make a cross-compile?

          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by
          #7

          @IknowQT said in Executable library permission?:

          ubuntu architecture is amd64 and ubuntu uploaded to raspberry pi is arm64

          That would indeed explain "Exec format error"! :)
          Then you do indeed need to cross-compile on the original Ubuntu for the target ARM architecture.

          I 1 Reply Last reply
          0
          • JonBJ JonB

            @IknowQT said in Executable library permission?:

            ubuntu architecture is amd64 and ubuntu uploaded to raspberry pi is arm64

            That would indeed explain "Exec format error"! :)
            Then you do indeed need to cross-compile on the original Ubuntu for the target ARM architecture.

            I Offline
            I Offline
            IknowQT
            wrote on last edited by
            #8

            @JonB

            Thanks for the reply, I'll talk about it here!
            How do I cross-compile? Is it possible in qt creator?

            JonBJ 1 Reply Last reply
            0
            • I IknowQT

              @JonB

              Thanks for the reply, I'll talk about it here!
              How do I cross-compile? Is it possible in qt creator?

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #9

              @IknowQT
              I don't know because I have never done it, but, yes, it is certainly possible in Qt Creator. Until somebody answers specifically here, you might start by Googling qt gcc cross compile arm, or more specifically cross compile qt for raspberry pi seems to lead to various hits.

              1 Reply Last reply
              0
              • sierdzioS Offline
                sierdzioS Offline
                sierdzio
                Moderators
                wrote on last edited by
                #10

                Wow we're thread-jumping a lot in here :D

                Here's something to start with: https://wiki.qt.io/RaspberryPi2EGLFS in your case, large parts of this guide will be different (it's a different OS, different toolchain (take Linaro instead of Raspberry Pi OS toolchain which is super outdated) etc.), libs might be different) but with some tweaking it should work.

                (Z(:^

                I 1 Reply Last reply
                1
                • sierdzioS sierdzio

                  Wow we're thread-jumping a lot in here :D

                  Here's something to start with: https://wiki.qt.io/RaspberryPi2EGLFS in your case, large parts of this guide will be different (it's a different OS, different toolchain (take Linaro instead of Raspberry Pi OS toolchain which is super outdated) etc.), libs might be different) but with some tweaking it should work.

                  I Offline
                  I Offline
                  IknowQT
                  wrote on last edited by
                  #11

                  @sierdzio

                  I'm not using Raspbian OS, I just installed Ubuntu on a Raspberry board. I have two Ubuntus, they are different architectures.
                  Can you tell me how to cross-compile in this case?

                  sierdzioS 1 Reply Last reply
                  0
                  • I IknowQT

                    @sierdzio

                    I'm not using Raspbian OS, I just installed Ubuntu on a Raspberry board. I have two Ubuntus, they are different architectures.
                    Can you tell me how to cross-compile in this case?

                    sierdzioS Offline
                    sierdzioS Offline
                    sierdzio
                    Moderators
                    wrote on last edited by
                    #12

                    @IknowQT said in Executable library permission?:

                    @sierdzio

                    I'm not using Raspbian OS, I just installed Ubuntu on a Raspberry board. I have two Ubuntus, they are different architectures.

                    I know, that's why I said those instructions won't work exactly as provided.

                    Can you tell me how to cross-compile in this case?

                    No, sorry, it's too much effort. I would have to do it all myself, too, to verify the information, and I don't have time for it now.

                    A high level summary is:

                    • update your RPi Ubuntu with dev packages (sudo apt build-dep qt5-default)
                    • get a toolchain from Linaro, for ARMHF or ARM64 architecture (depending on what your Ubuntu on RPi is using)
                    • get a sysroot (rsync the whole OS from your Raspberry to your desktop)
                    • get Qt (single tarball from archives, for example https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz)
                    • extract Qt
                    • run configure with correct flags (take ones from the EGLFS guide, but it probably won't work out of the box. Lots of trial and error and frustration will surely follow!)
                    • run make -j numberOfCpuCores
                    • run make install
                    • rsync your Qt installation back to RPi (you need to copy contents of folder you specified as -extprefix to folder on RPi you specified in -prefix)

                    Now you will have a working, cross-compiled Qt. You can add it to Qt Creator:

                    • add compiler (Linaro)
                    • add Qt version (your qmake is in folder you specified as -hostprefix)
                    • add kit

                    With that, you will have a working cross-compilation environment on your desktop Ubuntu. Each compiled binary you will have to send to RPi to run (this can be automated in Qt Creator, too).

                    Good luck!

                    (Z(:^

                    1 Reply Last reply
                    3
                    • artwawA Offline
                      artwawA Offline
                      artwaw
                      wrote on last edited by
                      #13

                      you might find it easier to install Qt on your raspi, together with the creator, then just use Remote Desktop session for developing directly on the raspi.

                      For more information please re-read.

                      Kind Regards,
                      Artur

                      1 Reply Last reply
                      4

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved