ld를 실행할 수 없습니다: 오류 126

ld를 실행할 수 없습니다: 오류 126

f303주 동안 설치 했는데 C++가능한 코드를 컴파일하려고 fortran하면 이 오류가 계속 표시됩니다 .

다음에 연결하는 동안 오류가 발생했습니다 ld.error: ld returned 126 exit status

조사해 보았지만 아직까지 아무런 설명이 없습니다.

제가 공유할 수 있는 것은 에서 소프트 링크가 ld있다는 것입니다 ./usr/bin/etc/alternatives

[astamato@pcen35240 ~]$ ls -al /usr/bin/ld*
lrwxrwxrwx. 1 root root      20 Apr 26 04:27 /usr/bin/ld -> /etc/alternatives/ld
-rwxr-xr-x. 1 root root   13536 Aug 11 11:27 /usr/bin/ld.bfd
-rwxr-xr-x. 1 root root    5441 Jun  6 13:55 /usr/bin/ldd
-rwxr-xr-x. 1 root root 3853632 Mar  6 11:00 /usr/bin/ld.gold

ld다른 프로그램이나 설치 스크립트에서 호출하지 않고 직접 실행하려고 하면 다음과 같은 결과가 나타납니다.

[astamato@pcen35240 talys]$ /usr/bin/ld
bash: /usr/bin/ld: cannot execute binary file: Exec format error

[astamato@pcen35240 talys]$ sudo /usr/bin/ld
/usr/bin/ld: /usr/bin/ld: cannot execute binary file

그러다가 원래 /etc/alternatives위치를 다시 검색해 보니 또 소프트링크였습니다.

[astamato@pcen35240 talys]$ ls -al /etc/alternatives/ld*
lrwxrwxrwx. 1 root root 15 Apr 26 04:27 /etc/alternatives/ld -> /usr/bin/ld.bfd

놀랍게도 링크 ld.bfd/usr/bin.

버전을 찾으려고 하는데 ld.bfd실행할 수 없는 것 같습니다.

[astamato@pcen35240 talys]$ /usr/bin/ld.bfd --version
bash: /usr/bin/ld.bfd: cannot execute binary file: Exec format error
[astamato@pcen35240 talys]$ sudo /usr/bin/ld.bfd --version
/usr/bin/ld.bfd: /usr/bin/ld.bfd: cannot execute binary file

문제가 무엇인지 이해하고 해결하는 방법에 대한 아이디어가 있습니까?

편집하다

@steeldriver의 제안에 따라 다음 결과를 보고합니다.

$ file -L /usr/bin/ld.bfd
/usr/bin/ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=d88173c7f8919542e59738a8c5b626f6ed81d7d8, stripped, too many notes (256)
$ uname -m
x86_64

답변1

왜 이런 일이 일어나는지, 다른 방법으로 고칠 수 있는지, 아니면 다른 곳에 영향을 미치는지는 잘 모르겠지만 방금 다시 설치했더니 binutils해결된 것 같습니다.

그러니 그냥 들어가세요

sudo yum reinstall binutils

문제가 없어야합니다.

관련 정보