c - 从源代码构建 R 包 krb5

标签 c r kerberos rcpp devtools

我正在尝试从 rforge 上可用的源安装 krb5 软件包 rforge .

为此,我在 Windows 7 上的 RStudio (1.0.136) 和 R (3.3.1) 中使用以下命令。

install.packages("krb5",,"http://rforge.net/",type="source")

不幸的是,这会导致以下错误:

* installing *source* package 'krb5' ...
** libs

*** arch - i386
c:/Rtools/mingw_32/bin/gcc  -I"C:/PROGRA~1/R/R-33~1.1/include" -DNDEBUG     -I"d:/Compiler/gcc-4.9.3/local330/include"     -O3 -Wall  -std=gnu99 -mtune=core2 -c k.c -o k.o
k.c:1:18: fatal error: krb5.h: No such file or directory
 #include <krb5.h>
                  ^
compilation terminated.
make: *** [k.o] Error 1
Warnung: Ausführung von Kommando 'make -f "Makevars" -f "C:/PROGRA~1/R/R-33~1.1/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-33~1.1/share/make/winshlib.mk" SHLIB="krb5.dll" OBJECTS="k.o"' ergab Status 2
ERROR: compilation failed for package 'krb5'
* removing 'C:/Users/Fabian Desktop/Documents/R/win-library/3.3/krb5'
Warning in install.packages :
  running command '"C:/PROGRA~1/R/R-33~1.1/bin/x64/R" CMD INSTALL -l "C:\Users\User\Documents\R\win-library\3.3" C:\Users\User\AppData\Local\Temp\RtmpCOnG2U/downloaded_packages/krb5_0.1.tar.gz' had status 1
Warning in install.packages :
  installation of package ‘krb5’ had non-zero exit status

似乎没有找到文件“krb5.h”。这是有道理的,因为该包构建在 MIT 的可用 Kerberos 项目上 here .

我面临的问题是我从未构建过 C 项目。因此,我不知道如何“合并”这两个项目,也不知道在哪里将 MIT 项目添加到 R 包中,以便在构建 R 包时可以使用它。非常感谢我应该采取的简短分步指南来使这项工作正常进行。

最佳答案

警告:我对 krb5 包的细节一无所知。但请继续阅读...

Rcpp 包的一个常见模式是,它们一方面是 R 之间的接口(interface),另一方面是外部库之间的接口(interface)。

为了编译连接两个这样的世界的代码,您需要两个世界的头文件和库。。 R覆盖了自己的一侧。

但是,如果您安装了 Kerberos(开发)软件,krb5 可能只会让您能够与 Kerboros 后端对话。换句话说,krb5 很可能是 Kerberos 网关,而不是 Kerberos 本身。

关于c - 从源代码构建 R 包 krb5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556301/

相关文章:

javascript - 为什么 || JavaScript 中的 (or) 和 && (and) 运算符的行为与 C 中的不同(返回非 bool 值)?

c - 我的线程图像生成应用程序如何将其数据获取到 gui?

c - 递归 - 链表中倒数第 n 个元素

r - 将缺少日期的数据框转换为时间序列

R:在 X-Y 网格中查找缺失的组合

c - GCC 的#pragma 中断

r - 如何在R中查找由日期和时间组成的两行数据之间的差异

hadoop - 远程HDFS文件从安全群集移动到非安全群集不起作用

java - GSSException : [. .] 不支持/启用使用 HMAC SHA1-96 的加密类型 AES256CTS 模式

hadoop - 如何在没有域名的情况下设置Kerberos领域