43

パッケージlarsをインストールしようとしています。Ubuntu 11.04 ナッティ 64 ビット。建物から私は得る:

* installing *source* package âlarsâ ...
** libs
gfortran   -fpic  -O3 -pipe  -g -c delcol.f -o delcol.o
gcc -shared -o lars.so delcol.o -lgfortran -lm -L/usr/lib64/R/lib -lR
/usr/bin/ld: cannot find -lgfortran
collect2: ld returned 1 exit status
make: *** [lars.so] Error 1
ERROR: compilation failed for package âlarsâ

gfortran がインストールされており、実行するgfortran --versionと取得されます

gfortran --version GNU Fortran (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2

sudo ldconfig -vエラーを与える

/sbin/ldconfig.real: stat できません /usr/lib/libgfortran.so: そのようなファイルまたはディレクトリはありません

すでに gfortran を削除して再インストールしました。これを修正するには何が必要ですか?

4

11 に答える 11

63

Ubuntu 12.10 64ビットにCRANパッケージVGAMをインストールしようとしたときに、同じ問題が発生しました。私はすでにr-base-devをインストールしていましたが、DirkEddelbuettelの答えに対するAndrewReddの2番目のコメントは私のために機能しました。

具体的には、次の2つのエラーが発生していました。

/usr/bin/ld: cannot find -lgfortran
/usr/bin/ld: cannot find -lquadmath

行によって修正されました:

sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libquadmath.so.0 /usr/lib/libquadmath.so

元の投稿から問題を処理するために必要なのは最初の行だけであることに注意してください。2行目は、lquadmathでの追加エラーを修正しました。

于 2013-03-21T06:32:55.517 に答える
35

Debian / Ubuntu ファミリーの場合、通常は

 $ sudo apt-get install r-base-dev

コンパイルに一般的に必要なすべてのパッケージを取り込むためです。そして、このアプローチは、自動化されたパッケージ ビルダーがこれ (および追加のパッケージごとの Build-Depends) に依存しているため、常にテストされます。gfortranパッケージもここにリストされています。 以前のインストールからのリンクが壊れている可能性があるので、試してみdpkg --purge gfortran; apt-get install gfortranます。とはいえ、何十もの R パッケージ (および R 自体) が Fortran を使用しているため、ここに魔法はありません。

于 2011-06-10T12:54:22.427 に答える
8

Rパッケージminqaをubuntu 12.04、R3.1.0、x86 32ビットにインストールするのと同じ問題(実際にはキャレットパッケージのインストールの一部でした)。

によって解決

sudo ln -s /usr/lib/i386-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so

r-base-dev の再インストールは機能せず、すべての依存関係のために gfortran を再インストールしようとしませんでした。

システム/バージョンによっては、

ls -l /usr/lib/libgfortran.so

リンクが存在する/正しいことを確認します。

于 2014-06-09T18:01:07.897 に答える
8

Centos を使用していますが、r-base-dev を取得できません。gfortran もインストールしましたが、そのバージョンは gcc と g++ のバージョンと一致します。それでもうまくいきませんでした。しかし、私はこの問題を作成して解決しまし~/.R/Makevars

cd ~
mkdir .R
touch Makevars

gfortranをインストールしたディレクトリを見つけました(明らかに問題はRが見つからないことです)

which gfortran

にgfortranをインストールしたとのことでしたusr/bin/gfortran。次に、フラグを追加し.R/Makevarsて、R に使用するように指示します。

F77 = /usr/bin/gfortran
FC = $F77
FLIBS = -L/usr/bin/gfortran

Makevars ファイルは次のように編集できます。

vi .R/Makevars

viこれで、テキスト ファイルを編集できるプログラムに入りました。入力iして編集します。INSERTターミナルウィンドウの下部に表示されます。次に、上で入力したものを入力できます。変更を保存して終了するviには、esc キーを押して と入力し:wqます。

FLIBS 行は MacOS とは大きく異なるため、正しく配置したかどうかは完全にはわかりません。MacOS では、gfortran の下にリンク先のライブラリがあるディレクトリがありますが、明らかgfortranに Linux のディレクトリではありません。少なくともこれは私にとってはうまくいき、問題も解決した/usr/bin/ld: cannot find -lquadmathので、gfortranを必要とするRパッケージをスムーズにインストールしました。

于 2018-03-29T04:41:53.793 に答える
0

gcc44 を使用している場合は、次のものが必要です。

yum install gcc44-gfortran
于 2014-09-08T20:25:41.847 に答える
0

将来の失われた魂のために、コンパイラのバージョンがすべて一致することを確認することも役立ちます ( https://askubuntu.com/questions/276892/cannot-find-lgfortranによる)。私の場合、gcc と gfortran は両方とも 4.8.4 でしたが、g++ は 4.6 でした。

于 2016-11-30T02:44:06.950 に答える