2011-09-08 3 views
0

JRI 인터페이스를 통해 ggplot2 패키지를로드하는 데 문제가 있습니다. ggplot2는 R 스크립트를 통해 정상적으로로드되므로 제대로 설치되었다고 생각합니다. 다음 오류가 발생할 때 JRI를 통해로드하려고 할 때만입니다.JRI를 통해 ggplots2 패키지를로드 할 수 없습니다.

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 제공 실행 스크립트에서 ggplots2 패키지를로드하려고 시도했지만 여전히 동일한 오류가 발생합니다. 누구든지 R_NilValue가 정의 된 곳을 알 수 있습니까?

패키지 rJava 0.9-0 및 ggplot2 0.8.9를 사용하여 sparc-sun-solaris2.10 32 비트 플랫폼에서 R 버전 2.13.0을 실행 중입니다.

+0

설명을 위해 Java 코드에서 다음 줄을 사용했습니다. > re.eval ("library (ggplot2)") – MZT

답변

1

이것은 패키지가 일치하지 않음을 의미합니다. 즉 동적 R 용으로 빌드 된 패키지와 함께 사용되는 정적 R 용으로 빌드 된 패키지가 있습니다. 패키지를 재설치하면이를 수정해야합니다.

관련 문제