代码之家  ›  专栏  ›  技术社区  ›  prosoitos CodeHunter

如何为R设置“Java headers gen:”(要安装“rJava”)

  •  3
  • prosoitos CodeHunter  · 技术社区  · 7 年前

    我正在尝试安装软件包 rJava 在Arch Linux上的R中。

    我得到了错误:

    configure: error: One or more Java configuration variables are not set.
    Make sure R is configured with full Java support (including JDK). Run
    R CMD javareconf as root to add Java support to R.
    

    跑步 sudo R CMD javareconf ,我看得出来 Java headers gen.: 未设置,但我无法确定如何设置它。

    下面是R看到的完整java配置(旁边 Java haders gen. ,其余的看起来没问题):

    Java interpreter : /usr/bin/java
    Java version     : 10
    Java home path   : /usr/lib/jvm/java-10-openjdk
    Java compiler    : /usr/bin/javac
    Java headers gen.: 
    Java archive tool: /usr/bin/jar
    

    我确实有 javah 在里面 /usr/bin .但我该如何“告诉”R?

    1 回复  |  直到 7 年前
        1
  •  2
  •   prosoitos CodeHunter    7 年前

    感谢@IvoVidovic的评论,我去了 /usr/bin 并检查 javah 。原来是一个指向不存在文件的符号链接。事实上 爪哇 Arch Linux OpenJDK 10中缺少(该文件未在 package contents )。

    • 正在安装 OpenJDK 9 ,则,
    • 正在更新我的 JAVA_HOME 具有 export JAVA_HOME=/usr/lib/jvm/java-9-openjdk ,则,
    • 将OpenJDK 9设置为默认jdk sudo archlinux-java set java-9-openjdk ,则,
    • 并重新运行 sudo R CMD javareconf 允许R查找所有java文件,包括 爪哇

    我现在有:

    Java interpreter : /usr/bin/java
    Java version     : 9.0.4
    Java home path   : /usr/lib/jvm/java-9-openjdk
    Java compiler    : /usr/bin/javac
    Java headers gen.: /usr/bin/javah
    Java archive tool: /usr/bin/jar
    

    我可以安装 rJava 没有任何问题。

    再次感谢@IvoVidovic,他给了我正确的方向和他的评论。