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. :-1: error: collect2: fatal error: cannot find 'ld'

:-1: error: collect2: fatal error: cannot find 'ld'

Scheduled Pinned Locked Moved Unsolved General and Desktop
34 Posts 8 Posters 10.0k Views
  • 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.
  • S sude

    @JonB I have rasbian but i can't see anyting about it as you can see.
    e82a652f-d3be-4b96-ad29-318dede8c854-image.png

    KroMignonK Offline
    KroMignonK Offline
    KroMignon
    wrote on last edited by KroMignon
    #14

    @sude said in :-1: error: collect2: fatal error: cannot find 'ld':

    I have rasbian but i can't see anyting about it as you can see.

    Maybe a silly question, but did you install build essential package?

    sudo apt install -y build-essential
    

    It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

    S 1 Reply Last reply
    0
    • KroMignonK KroMignon

      @sude said in :-1: error: collect2: fatal error: cannot find 'ld':

      I have rasbian but i can't see anyting about it as you can see.

      Maybe a silly question, but did you install build essential package?

      sudo apt install -y build-essential
      
      S Offline
      S Offline
      sude
      wrote on last edited by
      #15

      @KroMignon Yes i did :(
      b8e0b3bf-62e9-44fe-bcde-5d6e15f9bfb8-image.png

      KroMignonK 1 Reply Last reply
      0
      • S sude

        @KroMignon Yes i did :(
        b8e0b3bf-62e9-44fe-bcde-5d6e15f9bfb8-image.png

        KroMignonK Offline
        KroMignonK Offline
        KroMignon
        wrote on last edited by
        #16

        @sude Just to be sure to understand what's going wrong: do you using your RaspberryPI to build or do you build a PC?

        Is Qt Creator running on RaspberryPI or on PC?

        It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

        S 1 Reply Last reply
        0
        • KroMignonK KroMignon

          @sude Just to be sure to understand what's going wrong: do you using your RaspberryPI to build or do you build a PC?

          Is Qt Creator running on RaspberryPI or on PC?

          S Offline
          S Offline
          sude
          wrote on last edited by
          #17

          @KroMignon It is rasbian and i am using raspberry pi 3 and i use qt creator in raspberry.

          JonBJ 1 Reply Last reply
          0
          • S sude

            @KroMignon It is rasbian and i am using raspberry pi 3 and i use qt creator in raspberry.

            JonBJ Online
            JonBJ Online
            JonB
            wrote on last edited by JonB
            #18

            @sude
            Since your RPi does not have the locate command I suggested earlier, now try:

            find / -name ld -print 2>/dev/null
            

            and show the output (better if you copy & paste the command run plus the output as text than show screen shots).

            S 1 Reply Last reply
            0
            • JonBJ JonB

              @sude
              Since your RPi does not have the locate command I suggested earlier, now try:

              find / -name ld -print 2>/dev/null
              

              and show the output (better if you copy & paste the command run plus the output as text than show screen shots).

              S Offline
              S Offline
              sude
              wrote on last edited by
              #19

              @JonB

              pi@raspberrypi:~ $ which ld
              pi@raspberrypi:~ $ find / -name ld -print 2>/dev/null
              /usr/bin/ld
              /usr/lib/compat-ld/ld
              /usr/lib/gold-ld/ld
              /usr/share/doc/binutils/ld
              pi@raspberrypi:~ $

              My terminal output is like that.

              JonBJ 1 Reply Last reply
              0
              • S sude

                @JonB

                pi@raspberrypi:~ $ which ld
                pi@raspberrypi:~ $ find / -name ld -print 2>/dev/null
                /usr/bin/ld
                /usr/lib/compat-ld/ld
                /usr/lib/gold-ld/ld
                /usr/share/doc/binutils/ld
                pi@raspberrypi:~ $

                My terminal output is like that.

                JonBJ Online
                JonBJ Online
                JonB
                wrote on last edited by
                #20

                @sude
                OK, hold on, that is strange.

                which ld shows no ld executable on your PATH.

                But the find shows /usr/bin/ld. That should be both executable and on your PATH.

                • Output from ls -l /usr/bin/ld?
                • Output from echo $PATH?
                S 1 Reply Last reply
                0
                • JonBJ JonB

                  @sude
                  OK, hold on, that is strange.

                  which ld shows no ld executable on your PATH.

                  But the find shows /usr/bin/ld. That should be both executable and on your PATH.

                  • Output from ls -l /usr/bin/ld?
                  • Output from echo $PATH?
                  S Offline
                  S Offline
                  sude
                  wrote on last edited by
                  #21

                  @JonB
                  pi@raspberrypi:~ $ ls -l /usr/bin/ld
                  toplam 0

                  It is zero how can i echo :(

                  JonBJ 2 Replies Last reply
                  0
                  • S sude

                    @JonB
                    pi@raspberrypi:~ $ ls -l /usr/bin/ld
                    toplam 0

                    It is zero how can i echo :(

                    JonBJ Online
                    JonBJ Online
                    JonB
                    wrote on last edited by
                    #22

                    @sude

                    pi@raspberrypi:~ $ ls -l /usr/bin/ld
                    toplam 0
                    

                    I don't understand. The output should look something like mine under Ubuntu:

                    ls -l /usr/bin/ld
                    lrwxrwxrwx 1 root root 19 Oct 20 12:09 /usr/bin/ld -> x86_64-linux-gnu-ld
                    

                    Since it's a soft link on mine and may be on yours, now try:

                    ls -lL /usr/bin/ld
                    -rwxr-xr-x 1 root root 1740384 Oct 20 12:09 /usr/bin/ld
                    

                    on yours, please?

                    It is zero how can i echo :(

                    What is zero? On mine:

                    echo $PATH
                    /home/jon/.local/bin:/home/jon/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
                    
                    1 Reply Last reply
                    0
                    • S sude

                      @JonB
                      pi@raspberrypi:~ $ ls -l /usr/bin/ld
                      toplam 0

                      It is zero how can i echo :(

                      JonBJ Online
                      JonBJ Online
                      JonB
                      wrote on last edited by JonB
                      #23

                      @sude said in :-1: error: collect2: fatal error: cannot find 'ld':

                      pi@raspberrypi:~ $ ls -l /usr/bin/ld
                      toplam 0

                      Ah, hang on, that is indeed what you get if /usr/bin/ls is an (empty) directory:

                      mkdir empty
                      ls -l empty
                      total 0
                      

                      Maybe toplam means total in your language?!

                      OK, that is indeed strange. /usr/bin/ld should be, or be a soft link to, an executable file, not a directory!

                      Go back to the find command. Assuming RPi find accepts -ls, try:

                      find / -name ld -ls 2>/dev/null
                      

                      If not try:

                      ls -ld `find / -name ld -print 2>/dev/null`
                      

                      Note those two ` ("backtick") characters, you will have to find that on your keyboard.

                      S 1 Reply Last reply
                      0
                      • JonBJ JonB

                        @sude said in :-1: error: collect2: fatal error: cannot find 'ld':

                        pi@raspberrypi:~ $ ls -l /usr/bin/ld
                        toplam 0

                        Ah, hang on, that is indeed what you get if /usr/bin/ls is an (empty) directory:

                        mkdir empty
                        ls -l empty
                        total 0
                        

                        Maybe toplam means total in your language?!

                        OK, that is indeed strange. /usr/bin/ld should be, or be a soft link to, an executable file, not a directory!

                        Go back to the find command. Assuming RPi find accepts -ls, try:

                        find / -name ld -ls 2>/dev/null
                        

                        If not try:

                        ls -ld `find / -name ld -print 2>/dev/null`
                        

                        Note those two ` ("backtick") characters, you will have to find that on your keyboard.

                        S Offline
                        S Offline
                        sude
                        wrote on last edited by
                        #24

                        @JonB
                        pi@raspberrypi:~ $ find / -name ld -ls 2>/dev/null
                        300053 0 lrwxrwxrwx 1 root root 16 Şub 6 2020 /usr/lib/compat-ld/ld -> ../../bin/ld.bfd
                        300055 0 lrwxrwxrwx 1 root root 17 Şub 6 2020 /usr/lib/gold-ld/ld -> ../../bin/ld.gold
                        299210 4 drwxr-xr-x 2 root root 4096 Mar 5 2021 /usr/share/doc/binutils/ld
                        pi@raspberrypi:~ $ ls -ld find / -name ld -print 2>/dev/null
                        lrwxrwxrwx 1 root root 16 Şub 6 2020 /usr/lib/compat-ld/ld -> ../../bin/ld.bfd
                        lrwxrwxrwx 1 root root 17 Şub 6 2020 /usr/lib/gold-ld/ld -> ../../bin/ld.gold
                        drwxr-xr-x 2 root root 4096 Mar 5 2021 /usr/share/doc/binutils/ld
                        pi@raspberrypi:~ $

                        JonBJ 1 Reply Last reply
                        0
                        • S sude

                          @JonB
                          pi@raspberrypi:~ $ find / -name ld -ls 2>/dev/null
                          300053 0 lrwxrwxrwx 1 root root 16 Şub 6 2020 /usr/lib/compat-ld/ld -> ../../bin/ld.bfd
                          300055 0 lrwxrwxrwx 1 root root 17 Şub 6 2020 /usr/lib/gold-ld/ld -> ../../bin/ld.gold
                          299210 4 drwxr-xr-x 2 root root 4096 Mar 5 2021 /usr/share/doc/binutils/ld
                          pi@raspberrypi:~ $ ls -ld find / -name ld -print 2>/dev/null
                          lrwxrwxrwx 1 root root 16 Şub 6 2020 /usr/lib/compat-ld/ld -> ../../bin/ld.bfd
                          lrwxrwxrwx 1 root root 17 Şub 6 2020 /usr/lib/gold-ld/ld -> ../../bin/ld.gold
                          drwxr-xr-x 2 root root 4096 Mar 5 2021 /usr/share/doc/binutils/ld
                          pi@raspberrypi:~ $

                          JonBJ Online
                          JonBJ Online
                          JonB
                          wrote on last edited by
                          #25

                          @sude
                          Well, again I don't understand/am surprised at your output.

                          Earlier your showed 4 matches for ld, including /usr/bin/ld. Now you show only 3 matches, not including /usr/bin/ld. I don't know why....

                          Last try:

                          • ls -ld /usr/bin/ld ?
                          • ls -lLd /usr/bin/ld?

                          Assuming those show it's a directory, or even that it does not exist, it does not look to me as though your RPi has ld installed/properly installed. Earlier you said sudo apt install -y build-essential was reporting "installed", but it doesn't feel right to me. Maybe you should try uninstall and reinstall, I don't know. I believe that until which ld returns an executable file path (e.g. /usr/bin/ld) you are in a bad state. But I know nothing about RPi....

                          S 2 Replies Last reply
                          0
                          • JonBJ JonB

                            @sude
                            Well, again I don't understand/am surprised at your output.

                            Earlier your showed 4 matches for ld, including /usr/bin/ld. Now you show only 3 matches, not including /usr/bin/ld. I don't know why....

                            Last try:

                            • ls -ld /usr/bin/ld ?
                            • ls -lLd /usr/bin/ld?

                            Assuming those show it's a directory, or even that it does not exist, it does not look to me as though your RPi has ld installed/properly installed. Earlier you said sudo apt install -y build-essential was reporting "installed", but it doesn't feel right to me. Maybe you should try uninstall and reinstall, I don't know. I believe that until which ld returns an executable file path (e.g. /usr/bin/ld) you are in a bad state. But I know nothing about RPi....

                            S Offline
                            S Offline
                            sude
                            wrote on last edited by
                            #26

                            @JonB Thank you for your help but it cant be solved. :(

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

                              Hi,

                              In that case you should maybe go with the nuclear option and restart from a clean installation on your RPi. As written by @JonB, if having installed build-essential does not give you all the tools, then there's likely something wrong with your system.

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

                              S 1 Reply Last reply
                              1
                              • SGaistS SGaist

                                Hi,

                                In that case you should maybe go with the nuclear option and restart from a clean installation on your RPi. As written by @JonB, if having installed build-essential does not give you all the tools, then there's likely something wrong with your system.

                                S Offline
                                S Offline
                                sude
                                wrote on last edited by
                                #28

                                @SGaist I tried it too but it didnt work. I dont know what i do wrong.

                                1 Reply Last reply
                                0
                                • JonBJ JonB

                                  @sude
                                  Well, again I don't understand/am surprised at your output.

                                  Earlier your showed 4 matches for ld, including /usr/bin/ld. Now you show only 3 matches, not including /usr/bin/ld. I don't know why....

                                  Last try:

                                  • ls -ld /usr/bin/ld ?
                                  • ls -lLd /usr/bin/ld?

                                  Assuming those show it's a directory, or even that it does not exist, it does not look to me as though your RPi has ld installed/properly installed. Earlier you said sudo apt install -y build-essential was reporting "installed", but it doesn't feel right to me. Maybe you should try uninstall and reinstall, I don't know. I believe that until which ld returns an executable file path (e.g. /usr/bin/ld) you are in a bad state. But I know nothing about RPi....

                                  S Offline
                                  S Offline
                                  sude
                                  wrote on last edited by
                                  #29

                                  @JonB said in :-1: error: collect2: fatal error: cannot find 'ld':

                                  ls -lLd /usr/bin/ld

                                  pi@raspberrypi:~ $ ls -ld /usr/bin/ld
                                  ls: Could not access '/usr/bin/ld': No such file or directory
                                  pi@raspberrypi:~ $ ls -lLd /usr/bin/ld
                                  ls: Could not access '/usr/bin/ld': No such file or directory

                                  JonBJ 1 Reply Last reply
                                  0
                                  • S sude

                                    @jsulm Actually I did not use cross compile and my program features like that.

                                    6086cf1a-3da1-4d07-a5ca-15002f50d9f2-image.png

                                    A Offline
                                    A Offline
                                    anil_arise
                                    wrote on last edited by
                                    #30

                                    @sude show complete compile error with .pro file

                                    1 Reply Last reply
                                    0
                                    • S sude

                                      @JonB said in :-1: error: collect2: fatal error: cannot find 'ld':

                                      ls -lLd /usr/bin/ld

                                      pi@raspberrypi:~ $ ls -ld /usr/bin/ld
                                      ls: Could not access '/usr/bin/ld': No such file or directory
                                      pi@raspberrypi:~ $ ls -lLd /usr/bin/ld
                                      ls: Could not access '/usr/bin/ld': No such file or directory

                                      JonBJ Online
                                      JonBJ Online
                                      JonB
                                      wrote on last edited by
                                      #31

                                      @sude said in :-1: error: collect2: fatal error: cannot find 'ld':

                                      ls: Could not access '/usr/bin/ld': No such file or directory

                                      Earlier (4 days ago above) you reported:

                                      find / -name ld -print 2>/dev/null
                                      /usr/bin/ld

                                      Then it disappeared.... Why?

                                      I give up, because it seems to me you are not reporting a consistent situation. You or your file system seem to be changing while you are trying to sort this. Which sounds like you are making some changes/doing some actions you are not telling us about.

                                      I have suggested you uninstall and reinstall the build development package. Maybe you should check again what is installed and what error you get now.

                                      Plenty of other people succeed in doing development on an RPi. I believe the development package, or your base OS distro, should have /usr/bin/ld as an executable file, that is the case under most Linuxes and seems to be what your build/make is expecting. I know no more than this about your situation.

                                      S 1 Reply Last reply
                                      0
                                      • JonBJ JonB

                                        @sude said in :-1: error: collect2: fatal error: cannot find 'ld':

                                        ls: Could not access '/usr/bin/ld': No such file or directory

                                        Earlier (4 days ago above) you reported:

                                        find / -name ld -print 2>/dev/null
                                        /usr/bin/ld

                                        Then it disappeared.... Why?

                                        I give up, because it seems to me you are not reporting a consistent situation. You or your file system seem to be changing while you are trying to sort this. Which sounds like you are making some changes/doing some actions you are not telling us about.

                                        I have suggested you uninstall and reinstall the build development package. Maybe you should check again what is installed and what error you get now.

                                        Plenty of other people succeed in doing development on an RPi. I believe the development package, or your base OS distro, should have /usr/bin/ld as an executable file, that is the case under most Linuxes and seems to be what your build/make is expecting. I know no more than this about your situation.

                                        S Offline
                                        S Offline
                                        sude
                                        wrote on last edited by
                                        #32

                                        @JonB Thank you for your help this is complicated situation and i tried diffirent things so much. If i directed to wrong way please forgive me and again thank you for your help.

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

                                          Then do things in a simpler fashion:

                                          1. restart from a clean image for your RPi
                                          2. install build-essential
                                          3. compile a dummy hello world cpp application

                                          Once you have that working, continue the setup of the rest of the dependencies you need.

                                          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

                                          • Login

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