【问题标题】:Can't load ggplots2 package through JRI无法通过 JRI 加载 ggplots2 包
【发布时间】:2011-09-08 12:53:44
【问题描述】:

我在通过 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 是在哪里定义的,我做错了什么?

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

【问题讨论】:

  • 为了澄清,在我的 Java 代码中,我有以下行 > re.eval("library(ggplot2)")

标签: r ggplot2 jri


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多