我在安装几个软件包时遇到了麻烦,但根本原因主要是缺少库。我将在此列出一个例子。
在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
答案 0 :(得分:1)
/usr/bin/ld: cannot find -lidn
意味着编译器正在寻找并找不到libidn,这似乎是这样的:
http://www.gnu.org/software/libidn/
因此,使用您的(未指定的)操作系统的软件包管理进行安装,然后重试。从源代码安装的R包不能期望整理所有系统依赖性。
这可能是libcurl的要求 - 你安装了吗?
答案 1 :(得分:-1)
我刚刚在CentOS 6.2中安装了RCurl而没有任何问题。从您的输出看起来,问题在于您的Linux安装(GNU链接器)。你能尝试重新安装make和gcc吗?