天天看點

ubuntu18在make時出現/usr/bin/ld: cannot find -lbfd和cannot find liberty問題的解決方法

筆者在ubuntu18上使用整合NPB和mpiP的過程中,在程式編譯(make)的過程中出現了下面兩個錯誤:

/usr/bin/ld: cannot find -lbfd
/usr/bin/ld: cannot find -liberty
           

經過查找mpiP的相關文檔,-lbfd和-liberty庫是是GNU binutils的一部分,這些庫(-lbfd -liberty)為解碼符号資訊提供支援。

是以為了正确的編譯程式,需要在系統中安裝-lbfd和-liberty的庫,也就是binutils庫。

首先是-lbfd庫的安裝,

sudo apt-get install binutils-dev
           

其次是-liberty庫的安裝。Iberty庫是libiberty-dev on Ubuntu 14.04及以上版本的一部分(它以前是在binutil-dev on 12.04中),是以需要單獨安裝libiberty-dev庫。

sudo apt-get install libiberty-dev
           

 兩個庫安裝好之後,就可以正常編譯和運作NPB程式了。

繼續閱讀