
f30
3주 동안 설치 했는데 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
문제가 없어야합니다.