Fedora
無法執行 ld:錯誤 126
我已經
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
我真的不知道它為什麼會發生,或者它是否可以以其他方式修復,或者它是否會在其他地方產生影響,但我剛剛重新安裝
binutils
,似乎它解決了它。所以只需輸入
sudo yum reinstall binutils
應該沒問題。