0

我在安装几个软件包时遇到了真正的麻烦,但根本原因主要是缺少库。我将在这里举一个例子。

在 R-2.15.2 内

install.packages("RCurl")

/usr/share/R/include/Rinternals.h:676: note: expected 'const char *' but argument is of type 'ucs_t *'
gcc -std=gnu99 -shared -o RCurl.so base64.o curl.o curlInit.o curl_base64.o enums.o json.o memoryManagement.o myUTF8.o -L/jgi/local/Linux_x86_64/unixadm/curl/7.19.7/lib -lcurl -lidn -lssl -lcrypto -lrt -lssl -lcrypto -lz -lxml2 -L/usr/lib64/R/lib -lR
/usr/bin/ld: cannot find -lidn
collect2: ld returned 1 exit status
make: *** [RCurl.so] Error 1
ERROR: compilation failed for package 'RCurl'
* removing '/house/homedirs/a/apratap/lib/R/RCurl'

我尝试了几件事来提供库路径,但没有成功。

还:

</scratch>echo $LD_LIBRARY_PATH 
/usr/lib:/house/homedirs/a/apratap/lib:/jgi/tools/lib
</scratch>echo $R_LD_LIBRARY_PATH 
/usr/lib:/house/homedirs/a/apratap/lib:/jgi/tools/lib
4

2 回答 2

1
/usr/bin/ld: cannot find -lidn

表示编译器正在寻找但未能找到 libidn,它似乎是这样的:

http://www.gnu.org/software/libidn/

因此,使用您的(未指定)操作系统的包管理安装它,然后重试。不能指望从源代码安装的 R 包会整理出所有系统依赖项。

这很可能是 libcurl 的要求 - 你安装了吗?

于 2012-10-30T08:01:00.840 回答
-1

我刚刚在 CentOS 6.2 中安装了 RCurl,没有任何问题。从您的输出看来,问题出在您的 Linux 安装(GNU 链接器)上。你可以尝试重新安装make和gcc吗?

于 2012-10-30T05:24:26.260 回答