筆者在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程式了。