Fly*_*kle 4 macos r data.table
我需要在 macOS 11.1 上安装 data.table 1.12.0(特别是)。
\n我收到错误:
\nclang: error: unsupported option \'-fopenmp\'\nmake: *** [assign.o] Error 1\n
Run Code Online (Sandbox Code Playgroud)\n我已按照https://github.com/Rdatatable/data.table/wiki/Installation#openmp-enabled-compiler-for-mac中的说明进行操作,但仍然无法使其正常工作。\nR 3.6.1。
\n我还尝试了 R CMD 安装并得到了相同的错误:
\nR CMD install data.table_1.12.0.tar.gz \n* installing to library \xe2\x80\x98/Users/XXX/Library/R/3.6/library\xe2\x80\x99\n* installing *source* package \xe2\x80\x98data.table\xe2\x80\x99 ...\n** package \xe2\x80\x98data.table\xe2\x80\x99 successfully unpacked and MD5 sums checked\n** using staged installation\n** libs\nclang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fopenmp -fPIC -Wall -g -O2 -c assign.c -o assign.o\nclang: error: unsupported option \'-fopenmp\'\nmake: *** [assign.o] Error 1\nERROR: compilation failed for package \xe2\x80\x98data.table\xe2\x80\x99\n* removing \xe2\x80\x98/Users/XXX/Library/R/3.6/library/data.table\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n更新:对我来说从 CRAN 安装最新的 data.table 似乎也是一个问题,所以它显然不限于 1.12.0。
\n这些是我在启用多线程/openMP 的情况下从源安装 data.table 的步骤(最初在/sf/answers/4573397321/中描述):
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
Run Code Online (Sandbox Code Playgroud)
# This can take several hours
brew install gcc
brew install llvm
Run Code Online (Sandbox Code Playgroud)
brew cleanup
brew update
brew upgrade
brew reinstall gcc
brew reinstall llvm
Run Code Online (Sandbox Code Playgroud)
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
# You can safely ignore warnings like this:
#ln: /usr/local/include//tcl.h: File exists
#ln: /usr/local/include//tclDecls.h: File exists
#ln: /usr/local/include//tclPlatDecls.h: File exists
#ln: /usr/local/include//tclTomMath.h: File exists
#ln: /usr/local/include//tclTomMathDecls.h: File exists
#ln: /usr/local/include//tk.h: File exists
#ln: /usr/local/include//tkDecls.h: File exists
#ln: /usr/local/include//tkPlatDecls.h: File exists
Run Code Online (Sandbox Code Playgroud)
brew install gmp
Run Code Online (Sandbox Code Playgroud)
~/.R/Makevars
文件(如果您已有~/.R/Makevars
文件,请将其保存在不同的目录中(远离~/.R/
))并在文件中仅包含以下行:LOC=/usr/local/gfortran
CC=$(LOC)/bin/gcc -fopenmp
CXX=$(LOC)/bin/g++ -fopenmp
CXX11 = $(LOC)/bin/g++ -fopenmp
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L$(LOC)/lib -Wl,-rpath,$(LOC)/lib,-L/usr/local/lib
CPPFLAGS=-I$(LOC)/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/usr/local/include
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
CXX1X=/usr/local/gfortran/bin/g++
CXX98=/usr/local/gfortran/bin/g++
CXX11=/usr/local/gfortran/bin/g++
CXX14=/usr/local/gfortran/bin/g++
CXX17=/usr/local/gfortran/bin/g++
Run Code Online (Sandbox Code Playgroud)
install.packages("data.table", type = "source")
# To check whether it installed correctly, run:
library(data.table)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3361 次 |
最近记录: |