gpt4 book ai didi

r - 尝试从 github 安装 R fst 包的开发版本时出现 "/bin/sh: XX: command not found"错误

转载 作者:IT王子 更新时间:2023-10-29 00:40:07 24 4
gpt4 key购买 nike

我正在尝试安装 fst package 的开发版本来自github。 (我想要开发版本,因为它在保存数据框时维护列类,而当前发布的版本没有。)

最初,由于缺少 OpenMP 支持,安装失败。我按照以下步骤解决了这个问题(我认为)here对于 OSX 上的 R 3.4.0。

但是,现在我收到以下错误:/bin/sh: XX: command not found。我已经在 ~/.R/Makevars 文件中设置了适当的路径,所以我不确定下一步该怎么做才能解决错误。

这是我的代码和输出:

首先尝试安装 fst,然后再添加 OpenMP 支持

devtools::install_github("fstPackage/fst", ref = "develop")

* installing *source* package ‘fst’ ...
** libs
clang++ -std=gnu++11 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -fopenmp -I. -Ifstcore -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I"/Library/Frameworks/R.framework/Versions/3.4/Resources/library/Rcpp/include" -I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include -fPIC -Wall -g -O2 -c FastStore.cpp -o FastStore.o
clang: error: unsupported option '-fopenmp'
make: *** [FastStore.o] Error 1
ERROR: compilation failed for package ‘fst’

添加 OpenMP 支持

为了添加 OpenMP 支持,我按照以下步骤操作 here对于 R 3.4.0,包括从 here 安装 gfortran 6.1clang 使用提供的预构建 OSX GUI 安装程序 here .然后,按照指示,我将以下内容添加到我的 ~/.R/Makevars 文件中:

CC=/usr/local/clang4/bin/clang
CXX=/usr/local/clang4/bin/clang++
CXX11=$CXX
CXX14=$CXX
CXX17=$CXX
CXX1X=$CXX
LDFLAGS=-L/usr/local/clang4/lib

第二次尝试安装 fst

然后我再次运行安装代码并得到以下错误:

devtools::install_github("fstPackage/fst", ref = "develop")

* installing *source* package ‘fst’ ...
** libs
XX -std=gnu++11 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -fopenmp -I. -Ifstcore -Ifstcore/LZ4 -Ifstcore/ZSTD -Ifstcore/ZSTD/common -Ifstcore/ZSTD/decompress -Ifstcore/ZSTD/compress -I"/Library/Frameworks/R.framework/Versions/3.4/Resources/library/Rcpp/include" -I/usr/local/include -fPIC -Wall -g -O2 -c FastStore.cpp -o FastStore.o
/bin/sh: XX: command not found
make: *** [FastStore.o]
Error 127 ERROR: compilation failed for package ‘fst’

除了错误之外,我可以看到安装输出在第一次尝试时以 clang++ -std=gnu++11 ... 开头,在 XX -std=gnu+ +11 ... 在第二次尝试中。我猜我需要告诉 R(或其他程序)clang 的路径,但我不确定需要什么路径或将它放在哪里(而且不是 Makevars 文件应该处理那个?),或者是否还有其他问题需要修复。

以下是关于我的系统的一些细节:

Macbook Pro、OSX Sierra(版本 10.12.5)

RStudio 版本 1.0.153

R session 信息

R version 3.4.1 (2017-06-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.5

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] httr_1.2.1 compiler_3.4.1 R6_2.2.2 tools_3.4.1 withr_1.0.2
[6] curl_2.8.1 memoise_1.1.0 git2r_0.19.0 digest_0.6.12 devtools_1.13.2

更新:根据@MarkPlotnick 的评论,我将 Makevars 更改为以下内容:

CC=/usr/local/clang4/bin/clang
CXX=/usr/local/clang4/bin/clang++
CXX11=$(CXX)
CXX14=$(CXX)
CXX17=$(CXX)
CXX1X=$(CXX)
LDFLAGS=-L/usr/local/clang4/lib

这导致了以下错误:

* installing source package ‘fst’ ...
** libs /Users/eipi10/.R/Makevars:7: *** Recursive variable `CXX' references itself (eventually). Stop.
ERROR: compilation failed for package ‘fst’

最佳答案

我遇到了这个问题,并根据@Dirk 在 "/bin/sh: XX: command not found" error when trying to install development version of R fst package from github 中的评论找到了解决方案

我在 .R/Makevars 中明确设置了库:

CXX11=/usr/local/clang4/bin/clang++
CXX14=/usr/local/clang4/bin/clang++
CXX17=/usr/local/clang4/bin/clang++
CXX1X=/usr/local/clang4/bin/clang++

当我遇到这个问题时这对我有用,尽管在我的 Mac 上二进制文件的路径是 /Library/Developer/CommandLineTools/usr/bin/clang++)

关于r - 尝试从 github 安装 R fst 包的开发版本时出现 "/bin/sh: XX: command not found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45380901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com