1

我正在尝试在 R 中安装 brotli 包。像往常一样,我运行: install.packages("brotli")

但是,由于某种原因,编译似乎没有完成。我现在已经在两个不同的系统上尝试过了(一个在我的 Mac 上,另一个在 EC2 实例上)。以下是错误:

wrapper.c:94:14: error: unknown type name 'R_CallMethodDef'

static const R_CallMethodDef CallEntries[] = {
             ^
wrapper.c:95:28: error: use of undeclared identifier 'DL_FUNC'
  {"R_brotli_compress",   (DL_FUNC) &R_brotli_compress,   3},
                           ^
wrapper.c:96:28: error: use of undeclared identifier 'DL_FUNC'
  {"R_brotli_decompress", (DL_FUNC) &R_brotli_decompress, 1},
                           ^
wrapper.c:100:20: error: unknown type name 'DllInfo'
void R_init_brotli(DllInfo *dll) {
                   ^
wrapper.c:101:3: warning: implicit declaration of function         'R_registerRoutines' is invalid in C99 [-Wimplicit-function-declaration]
  R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
  ^
wrapper.c:102:3: warning: implicit declaration of function     'R_useDynamicSymbols' is invalid in C99 [-Wimplicit-function-declaration]
  R_useDynamicSymbols(dll, FALSE);
  ^
2 warnings and 4 errors generated.
make: *** [wrapper.o] Error 1
ERROR: compilation failed for package ‘brotli’
* removing     ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/brotli’

The downloaded source packages are in
        ‘/private/var/folders/6s/dkpknwzd4d51qm959wqxv7280000gn/T/RtmpHOPjwI/downloa    ded_packages’
Warning message:
In install.packages("brotli") :
  installation of package ‘brotli’ had non-zero exit status

我对 C 语言的熟练程度不如我应该的那样,但我试图对其进行逆向工程但无济于事。我错过了什么吗?我还尝试使用依赖项选项(依赖项 = TRUE)安装它。有人对此有任何想法吗?

4

1 回答 1

1

因此,似乎认为,通过对 C 代码的一些额外检查,解决方案非常简单。我只是没有安装 r-development。在我的 mac 和我的 EC2 上安装后,它现在安装没有问题。这很奇怪,因为我想应该能够在不需要开发包的情况下安装一个像样的 R 包。但也许我在 R 包开发方面经验不足,无法对此事发表意见。尽管如此,我希望这有助于其他寻求安装相同软件包的经验不足的人。不过感谢您的帮助!

于 2018-07-12T18:51:40.220 回答