编译错误构建旧版本的R

时间:2013-01-08 13:42:00

标签: r compilation

为了使用一段时间没有更新的特定库,我想在Linux Mint 14下使用旧版本的R(2.3.1)。 我得到了源文件,安装了所需的库;检查:

apt-cache showsrc r-base | grep Build-Depends

并发出,如R-admin帮助页面所示,命令:

./configue

结束没有错误;然后

make

以下列错误消息终止:

In file included from datetime.c:95:0:
Rstrptime.h:201:12: erreur: conflicting types for ‘wcsncasecmp’
In file included from ../../src/include/Defn.h:928:0,
             from datetime.c:58:
/usr/include/wchar.h:172:12: note: previous declaration of ‘wcsncasecmp’ was here

有没有人知道是什么导致了这个错误(如果我理解的话,文件datetime.c和wchar.h之间存在冲突的类型),以及我如何继续编译过去这个错误。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题在于R 2.3.1非常陈旧,并且是在考虑旧C库的情况下开发的。最近的Linux安装,你有新的C库,可能不适合你的旧R版本。你能做什么:

  • 从R版本开始安装旧版本的Linux,例如在虚拟机中安装。
  • 自己将软件包移植到新版本的R。

第二个选项需要更多时间,但会使您基于包装的工作更具前瞻性。