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

为此,我在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之间的接口,另一方面是外部库之间的接口。

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

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

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

10-14 02:11