web-dev-qa-db-ja.com

Mac OS X Rエラー「ld:警告:オプションのディレクトリが見つかりません」

ソースからRパッケージをインストールしようとしていますが、エラーが発生します。

* installing *source* package ‘mclust’ ...
** package ‘mclust’ successfully unpacked and MD5 sums checked
** libs
gfortran-4.8   -fPIC  -g -O2  -c mclust.f -o mclust.o
gfortran-4.8   -fPIC  -g -O2  -c mclustaddson.f -o mclustaddson.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o mclust.so mclust.o mclustaddson.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/usr/local/lib/gcc/x86_64-Apple-darwin13.0.0/4.8.2 -lgfortran -lquadmath -lm -L/usr/local/lib/gcc/x86_64-Apple-darwin13.0.0/4.8.2 -lgfortran -lquadmath -lm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: directory not found for option '-L/usr/local/lib/gcc/x86_64-Apple-darwin13.0.0/4.8.2'
ld: warning: directory not found for option '-L/usr/local/lib/gcc/x86_64-Apple-darwin13.0.0/4.8.2'
ld: library not found for -lquadmath
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mclust.so] Error 1
ERROR: compilation failed for package ‘mclust’
* removing ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/mclust’
Warning in install.packages :
  installation of package ‘mclust’ had non-zero exit status

/usr/local/lib/gcc/x86_64-Apple-darwin13.0.0なので、見つからないことは理にかなっています。私が持っています /usr/local/lib/gcc/i686-Apple-darwin11および/usr/local/lib/gcc/4.8(Homebrewインストールへのシンボリックリンク)。それはどこにありますかx86_64-Apple-darwin13.0.0から?

オンラインで同様のエラーへの多くの参照があります。ただし、それらはすべてXcodeでのコンパイルに関連しており、プロジェクトの設定を更新することで解決されます。これはここでは適用されません。

15
burger

~/.R/Makevarsファイルを変更する必要があります。この概要については、以下を参照してください。 https://cran.r-project.org/doc/manuals/r-release/R-admin.html#OS-X-packages

代わりに、これは以前に@ kevin-usheyによって少し詳細に回答されています Rcpp警告:「オプション '-L/usr/local/Cellar/gfortran/4.8.2/gfortran'のディレクトリが見つかりません」

コードがgccで実行されておらず、代わりにclangに転送されています

以下を使用して、~/.R/Makevars/のコンパイルステートメントをgccに変更する必要があります。

VER=-5.3.0 
CC=gcc$(VER)
CXX=g++$(VER)
CFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
CXXFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
FLIBS=-L/usr/local/Cellar/gcc/5.3.0/lib/gcc/5

これは、homebrewを使用してgccがすでにインストールされていることを前提としています。

brew install gcc

(gfortranはbccでgccを同梱しています)

14
coatless

http://thecoatlessprofessor.com/programming/rcpp-rcpparmadillo-and-os-x-mavericks-lgfortran-and-lquadmath-error/ から、オプションのgfortranライブラリをダウンロードして修正できます- http://r.research.att.com/libs/ およびそれらを抽出します。コマンドラインでこれを行うには

curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
Sudo tar fvxz gfortran-4.8.2-darwin13.tar.bz2 -C /
9
Jim

以前のソリューションをコメントからの追加のヘルプと組み合わせて、次のソリューションはMac OS X High Sierraで私に役立ちました。

作成/編集~/.R/Makevars以下の内容で:

VER=-8
CC=gcc$(VER)
CXX=g++$(VER)
CXX11=g++$(VER)
CXX14=g++$(VER)
CXX17=g++$(VER)
CFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
CXXFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
FLIBS=-L/usr/local/Cellar/gcc/8.2.0/lib/gcc/8

注、私は自作を使用しており、gccバージョン8.2.0がインストールされています。

4
Megatron

Mac OS Catalinaを使用していますが、私の場合、Homebrewをインストールすると、最新のgccとGfortran 8.2.0で問題が解決しました。

1

解決策は、Homebrewで問題のあるパッケージを再インストールすることでした。

$ brew uninstall --ignore-dependencies --force openssl
$ brew install openssl

$ brew uninstall --ignore-dependencies --force readline  
$ brew install readline
0
Tolgahan ÜZÜN

MACで同じエラーを受け取りました。 ここにリンクの説明を入力 からgfortran-6.1.pkgをインストールするだけで済みました。 Rが見つけられるように、パッケージが/ usr/local/gfortranにインストールされていることを確認してください。

0
Alimz