ソースから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でのコンパイルに関連しており、プロジェクトの設定を更新することで解決されます。これはここでは適用されません。
~/.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を同梱しています)
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 /
以前のソリューションをコメントからの追加のヘルプと組み合わせて、次のソリューションは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がインストールされています。
Mac OS Catalinaを使用していますが、私の場合、Homebrewをインストールすると、最新のgccとGfortran 8.2.0で問題が解決しました。
解決策は、Homebrewで問題のあるパッケージを再インストールすることでした。
$ brew uninstall --ignore-dependencies --force openssl
$ brew install openssl
$ brew uninstall --ignore-dependencies --force readline
$ brew install readline
MACで同じエラーを受け取りました。 ここにリンクの説明を入力 からgfortran-6.1.pkgをインストールするだけで済みました。 Rが見つけられるように、パッケージが/ usr/local/gfortranにインストールされていることを確認してください。