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 に答える