0

我在通过 JRI 界面加载 ggplot2 包时遇到问题。ggplot2 通过 R 脚本加载正常,所以我相信它已经正确安装。只有当我尝试通过 JRI 加载它时,才会出现以下错误。

Loading required package: reshape
Loading required package: plyr
Error in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/usr/local/R/lib/R/library/plyr/libs/plyr.so':
ld.so.1: java: fatal: relocation error: file /usr/local/R/lib/R/library/plyr/libs/plyr.so: symbol R_NilValue: referenced symbol not found
Error: package 'plyr' could not be loaded

所以 ggplot2 要求加载 plyr 包。如果由 R 脚本运行,此包将加载,但不会从 JRI 加载。我怀疑这是因为在加载 JRI 之前没有正确设置环境变量,可能是 LD_LIBRARY_PATH。查看 R 脚本,我不知道该路径的设置位置(因为 R 脚本显然正确设置了所有环境变量,以便 plyr 找到所需的 R_NilValue 符号)。我已将 R 脚本中的所有环境变量设置复制到用于加载 JRI 的脚本中(以便它正确设置 R_HOME、R_SHARE_DIR、R_INCLUDE_DIR 和 R_DOC_DIR - 我在通过 JRI 加载其他包时也遇到问题,直到我设置了这些环境变量,它解决了这些问题)。但是,这并不能解决错误。此外,我' 我尝试从 rJava/JRI 提供的 Run 脚本加载 ggplots2 包,但我仍然遇到相同的错误。谁能告诉我 R_NilValue 是在哪里定义的,我做错了什么?

我正在使用包 rJava 0.9-0 和 ggplot2 0.8.9 在 sparc-sun-solaris2.10 32 位平台上运行 R 版本 2.13.0。

4

1 回答 1

1

这意味着包中存在不匹配。换句话说,有些为静态 R 构建的包与为动态 R 构建的包一起使用。重新安装包应该可以解决这个问题。

于 2011-09-12T19:54:47.400 回答