programing

R: rJava 패키지 설치 실패

jooyons 2023. 6. 24. 09:01
반응형

R: rJava 패키지 설치 실패

를 사용하여 할 때install.packages("rJava") 오류가합니다: command 다음발생니다합가오류.

checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver    : '/usr/bin/jar'
compiler    : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs   : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’

되어 있고 Java JDK가 설치되어 .java -version다음을 반환합니다.

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

오류를 검색하면 다른 사용자들도 동일한 문제를 겪고 있지만 제가 수행한 "JRE뿐만 아니라 전체 JDK 설치" 이외의 해결책을 찾지 못하는 것을 알 수 있습니다.

내가 읽은 또 다른 것은 달리는 것이었습니다.sudo R CMD javareconf오류 없이 매우 행복하게 실행됩니다.

제 문제가 뭔지 아세요?

[편집] 이런 문제가 생긴지 몇달이 지났습니다.저는 처음에 제가 아래에 올린 답변과 같이 제 자바 경로를 편집함으로써 이 문제를 해결했습니다.최근에 새로운 Ubuntu 설치에서 같은 문제가 발생했습니다.저는 dirk의 추천으로 apt-get을 사용하여 rJava 패키지를 설치해 보았습니다.완벽하게 작동했습니다.처음에는 Ubuntu apt-get 방법을 사용하여 패키지를 설치하는 것이 R의 install.packages()를 사용하여 동일한 패키지를 로드하는 것과 근본적으로 다르다는 것을 이해하지 못했습니다.Ubuntu 패키지는 제가 깨닫지 못했거나 이해하지 못했던 몇 가지 문제를 해결합니다.

하지 않을

apt-get install r-cran-rjava

더 쉬웠습니까?use에서 나에게 물어볼 수도 있었어 R! :)

알고 보니 내 문제는 내 문제였습니다.JAVA_HOME환경 변수입니다.네, 충격적입니다.에 대한 초기 :PATH그리고.JAVA_HOME다음과 같이 보입니다.

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin

그리고 제가 덧붙였어요./jre그래서 이제는 이렇게 보입니다.

export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin

자바의 모든 것은 그것 없이 잘 작동하는 것처럼 보였습니다./jre하지만 rJava는 그러지 않을 것입니다.이상한.

그게 제가 작동하는 방법입니다.

Linux에서 (Ubuntu 16.04 및 20.04 작업 확인됨)

sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf

R:

install.packages("rJava")

- 감합니다에 대한 - 당의제안은신사.$JAVA_HOME유사한 솔루션으로 안내합니다.

unset JAVA_HOME

R을 호출하기 전에

저는 같은 문제를 발견했고, 아래 명령을 실행한 후 작동했습니다.

export JAVA_LIBS="$JAVA_LIBS -ldl"
R CMD javareconf

자세한 내용은 http://www-01.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.install.doc/doc/install_install_r.html 을 참조하십시오.

Ubuntu 12.04 및 R 버전 3.0에서 작동했습니다.

cd /usr/lib/jvm/java-6-sun-1.6.0.26/include

이것은 jni.h가 있는 디렉토리입니다.

다음으로 필요한 다른 헤더 파일에 대한 소프트 링크를 만듭니다(아래의 JAVA_CPPFLAGS 옵션에 디렉터리를 두 개 이상 포함하는 방법을 찾기가 너무 귀찮습니다).

sudo ln -s linux/jni_md.h .

마침내.

sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include

아래는 다른 사후 오류에 대한 제 답변 중 하나입니다. 지금 설치된 패키지를 로드할 수 없습니다.
은 이 질문과도 이 있습니다

Linux(Ubuntu) 사용자의 경우:oracle-java(7/8)가 설치된 경우.이 장소에 있을 겁니다./usr/lib/jvm그리고.sudo액세스 권한이 필요합니다.

/etc/ld.so.conf.d/java.conf다음 항목을 사용합니다.

/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server

(java 버전에 따라 java-8-oracle을 java-7-oracle로 교체)

그러면:

sudo ldconfig

RStudio를 재시작한 다음 rJava 패키지를 설치합니다.

AMD64에서 Gentoo에서 R을 실행합니다.R 2.12.0으로 업그레이드했습니다.

R 버전 2.12.0(2010-10-15) 저작권(C) 2010 통계 컴퓨팅 ISBN 3-900051-07-0 플랫폼: x86_64-pc-linux-gnu(64비트)와 같은 성가신 메시지는 사라졌습니다.

얀 반데르미어

openjdk-7-*를 설치하려고 했지만 rJava를 설치하는 데 문제가 있었습니다.컴퓨터를 다시 시작한 후에는 전혀 문제가 없었습니다.

그렇게

sudo apt-get install openjdk-7-*


RESTART after installing java, then try to install package "rJava" in R

는 rJava 패습찾다니를 ./usr/lib/jvm/default-java/폴더를 누릅니다.그러나 기본값으로 사용할 수 없습니다.이 폴더에는 시스템에 대해 구성된 기본 Java에 대한 심볼 링크가 있습니다.

기본 Java를 활성화하려면 다음 패키지를 설치합니다.

sudo apt-get install default-jre default-jre-headless

CRAN R 3.4.1이 설치된 Ubuntu 17.04에서 테스트됨

을 JAVA_ 파일에서 이었습니다.HOME을 파일에서 변경하는 것이 효과적이었습니다./usr/lib/R/etc/javaconf

내 것이 인지 확인했습니다: 먼저사가용능다니 자바습확인했지인엇.sudo update-alternatives --config java내 경우에는, 그것은.java-8-oracle

나는 파일을 열었습니다./usr/lib/R/etc/javaconf 치환된 체됨default-java타고java-8-oracle:

${JAVA_HOME=/usr/lib/jvm/default-java}

대체됨:

${JAVA_HOME=/usr/lib/jvm/java-8-oracle}

그리고 나서.sudo R CMD javareconf

RStudio를 다시 시작하고 rJava를 설치할 수 있었습니다.

제가 하는 일은 다음과 같습니다.

  1. /etc/apt/apt.list에서 다음을 추가합니다.

    deb http://ftp.de.debian.org/debian 사이드 메인

참고: rjava는 최신 버전이어야 합니다.

2회 실행: sudoapt-get update sudoapt-get installer r-get-rjava

rjava의 이전 버전을 업데이트하면 rhdfs_1.0.8을 설치할 수 있습니다.

https://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gz 을 다운로드하고 RCMd install rJava_0.9-8.tar.gz 명령을 실행하여 작동했습니다.

Windows 10을 사용하는 동안에도 동일한 문제에 직면했습니다.다음 절차를 사용하여 문제를 해결했습니다.

  1. https://java.com/en/download/windows-64bit.jsp 에서 64비트 Windows용 Java 다운로드\설치
  2. https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 에서 64비트 Windows용 Java 개발 키트 다운로드\설치
  3. 그런 다음 바탕 화면\속성에서 "이 PC" 아이콘을 마우스 오른쪽 단추로 클릭합니다.\고급 시스템 설정\고급\환경 변수\시스템 변수에서 경로\편집\클릭\새로 만들기\복사하여 경로 "C:" 붙여넣기를 클릭합니다.\Program Files\Java\jdk1.8.0_201\bin" 및 "C:\Program Files\Java\jre1.8.0_201\bin"(인용문 없음) \OK\OK\OK

참고: jdk1.8.0_201 및 jre1.8.0_201은 Java 개발 키트 및 Java 버전에 따라 변경됩니다.

  1. 환경 변수 창에서 사용자의 사용자 변수로 이동합니다.\새로 만들기\를 클릭합니다.변수 이름을 "JAVA_HOME"로, 변수 값을 "C:\Program Files\Java\jdk1.8.0_201\bin”\확인을 누릅니다.

설치를 확인하려면 CMD\Type javac\Enter 및 Type java\Enter를 엽니다.

R 스튜디오 실행 중

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")

참고: jdk1.8.0_201은 Java 개발 키트 버전에 따라 변경됩니다.

이제 rJava 패키지를 문제없이 설치하고 로드할 수 있습니다.

Arch Linux에서 설치해야 하는 경우openjdk-srcJNI 경로를 사용할 수 있습니다.

즉, 이전에 설치해야 했던 패키지입니다.sudo R CMD javareconf성공적으로 실행됨:

local/jdk-openjdk 14.0.2.u12-1
    OpenJDK Java 14 development kit
local/jre-openjdk 14.0.2.u12-1
    OpenJDK Java 14 full runtime environment
local/jre-openjdk-headless 14.0.2.u12-1
    OpenJDK Java 14 headless runtime environment
local/openjdk-src 14.0.2.u12-1
    OpenJDK Java 14 sources

문제는 rJava가 설치하지 않는다는 것이었습니다.RStudio(Version 1.0.136. 다음은 저에게 효과가 있었습니다 (macOS Sierra version 10.12.6(여기에 있음):

1단계: 다운로드 및 설치javaforosx.dmg여기서부터

2단계: 다음으로 RStudio 내부에서 명령을 실행합니다.

install.packages("rJava", type = 'source')

패키지 관리자가 이것을 더 쉽게 만드는 우분투에서가 아닌 sudo 권한을 가지고 있다고 가정하면 -- 저는 다양한 이전 답변을 시도했고 우분투가 아닌 데이터브릭 블로그(https://kb.databricks.com/r/install-rjava-rjdbc-libraries.html) 에서 이 보석을 발견했습니다.

  1. 설치된 JDK
sudo apt-get install openjdk-8-jdk
  1. libjvm의 경로를 확인합니다.그래서;for me-->
cd /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 
grep -r libjvm

출력:

Binary file server/libjvm.so matches <<<<<<<<
  1. Java 구성을 수행합니다.
    sudo R CMD javareconf
  1. RStudio의 CRAN 미러에서 이전 버전의 패키지를 제거하고 'rJava'를 설치합니다.

  2. R 스튜디오 다시 시작

  3. RStudio에서 libjvm에 대한 링크를 확인합니다.그렇게

    dyn.load('/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so')
    library('rJava')

Ubuntu 16.04에서 유사한 문제가 발생했고 "default-java"라는 폴더를 생성하여 문제를 해결할 수 있었습니다./usr/lib/jvm그리고 그것에 모든 내용을 복사합니다./usr/lib/jvm/java-8-oracle수정 JAVA_HOME 환경 변수가 쓸모가 없어 이 솔루션을 선택했습니다.

언급URL : https://stackoverflow.com/questions/3311940/r-rjava-package-install-failing

반응형