R 的 Brotli 编译不正确
Brotli for R is not compiling correctly
我正在尝试在 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,但我试图对其进行逆向工程但无济于事。我错过了什么吗?我还尝试使用 dependencies 选项(dependencies = TRUE)安装它。有没有人对此有任何想法?
因此,通过对 C 代码的一些额外研究,似乎认为解决方案非常简单。我只是没有安装 r-development。在我的 mac 和我的 EC2 上安装后,现在安装没有问题。这很奇怪,因为我认为应该能够在不需要开发包的情况下安装一个像样的 R 包。但也许我在 R 包开发方面经验不足,无法就此事发表意见。 None-the-less,我希望这可以帮助其他正在寻求安装相同软件包的经验不足的人。感谢您的帮助!
我正在尝试在 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,但我试图对其进行逆向工程但无济于事。我错过了什么吗?我还尝试使用 dependencies 选项(dependencies = TRUE)安装它。有没有人对此有任何想法?
因此,通过对 C 代码的一些额外研究,似乎认为解决方案非常简单。我只是没有安装 r-development。在我的 mac 和我的 EC2 上安装后,现在安装没有问题。这很奇怪,因为我认为应该能够在不需要开发包的情况下安装一个像样的 R 包。但也许我在 R 包开发方面经验不足,无法就此事发表意见。 None-the-less,我希望这可以帮助其他正在寻求安装相同软件包的经验不足的人。感谢您的帮助!