Fedora

在 fedora 27 上使用 libgfrotran.so.3 和 GFORTRAN_1.0

  • May 5, 2018

我正在嘗試使用fortran名為SAMMY-8的程式碼,它的二進製文件可供使用。

我在f25安裝時使用沒有任何問題。升級到f27嘗試執行軟體時出現以下錯誤

sammy: error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory

起初我想libgfortran.so.4通過使用來建立一個軟連結

ln -s /usr/lib/libgfortran.so.4 /usr/lib/libgfortran.so.3

但是當我嘗試執行我得到的程式碼時

sammy: /lib64/libgfortran.so.3: version `GFORTRAN_1.0' not found (required by sammy) 
sammy: /lib64/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by sammy)

我還嘗試gcc-4.9.2通過安裝以下 rpm 文件來安裝

  • devtoolset-3-gcc-4.9.2-6.2.el7.x86_64.rpm
  • devtoolset-3-gcc-c++-4.9.2-6.2.el7.x86_64.rpm
  • devtoolset-3-libstdc++-devel-4.9.2-6.2.el7.x86_64.rpm
  • devtoolset-3-runtime-3.1-12.el7.x86_64.rpm

安裝成功所以我輸入scl enable devtoolset-3 bash以便能夠使用gcc-4.9.2然後SAMMY再次執行,但我仍然得到

sammy: /lib64/libgfortran.so.3: version `GFORTRAN_1.0' not found (required by sammy)
sammy: /lib64/libgfortran.so.3: version `GFORTRAN_1.4' not found (required by sammy)

關於如何GFORTRAN_1.0GFORTRAN_1.4on 的任何想法f27

libgfortran.so.3來自 Fedora 9:提供.log →

libgfortran.so.3(GFORTRAN_1.0)(64bit)    
libgfortran = 4.3.0-8

如果安裝了任何依賴於 fortran 的應用程序(例如“openblas-thread”),原始包 libgfortran-4.3.0-8.x86_64.rpm 將發生衝突,因此需要重新生成一個新名稱。

compat-libgfortran-4.3.0-8.fc27.x86_64.rpm安裝沒有問題。連結 → https://drive.google.com/file/d/18uMtX2n4-bwM2V2TfOl-w_Fk8t6YSlsk/view?usp=sharing

安裝:# cd Downloads/ && yum install ./compat-libgfortran-4.3.0-8.fc27.x86_64.rpm

PS:這些對GFORTRAN_1.0), GFORTRAN_1.4)像也存在於更高版本中,直到 v.6.x:Fedora 24 → v. 6.3.1,

“compat” package = compat-libgfortran-6.3.1-1.fc27.x86_64.rpm: 更新之前安裝的 compat-libgfortran。連結https://drive.google.com/file/d/1f9nPFjuMBGg1XIza_Ajokkm_d7VYmF0_/view?usp=sharing


描述你如何建構重命名的包

編寫一個新的規範文件(我用來pkgtool2創建compat-libgfortran.spec https://drive.google.com/file/d/0B7S255p3kFXNQ0ZEbHB1V1BUa0E/view?usp=sharing

Summary:   None
Name:      compat-libgfortran
Version:   6.3.1
Release:   1.fc27
License:   GPL
Group:     None          
Packager:  Jerry Donut <jerry@donut.com>
BuildArchitectures: x86_64
BuildRoot:

%description
No description

%files
/usr/lib64/libgfortran.so.3
/usr/lib64/libgfortran.so.3.0.0

將 compat-libgfortran.spec 複製到/home/[name]/rpms/SPECS/ https://www.linuxquestions.org/questions/linux-software-2/need-rpm-package-for-php-version-5-2-7-and-up-on-redhat -5-1-a-766486/#13 …然後執行$ rpmbuild -bb compat-libgfortran.spec

引用自:https://unix.stackexchange.com/questions/433653