Попытка установить rJava пакет на R, на моих 14,10 человечности, использование этого кода
if (!require(rJava)) install.packages('rJava')
получил немного ошибок, связанных с Java включая jni проблемы, после переустановки jdk, и попытался выполнить тот же код снова, получил ту ошибку
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/local/lib/R/site-library/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/usr/local/lib/R/site-library/rJava’
Warning in install.packages :
installation of package ‘rJava’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpfFjrp0/downloaded_packages’
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘rJava’
разыскиваемый решения, для нахождения примерно всех предложением (для x64) для выполнения тех команд
export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/lib/amd64:/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
sudo R CMD javareconf
но это не работало, там что-либо еще, что я могу сделать? Я предоставлю любую необходимую подробную информацию, и поиск libjvm.so на всей машине привел к этому
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so
/usr/lib/jvm/jdk1.8.25/jre/lib/amd64/server/libjvm.so
/usr/local/java/jre1.7.0_75/lib/amd64/server/libjvm.so
Выполнение следующего должно решить Вашу проблему:
$ export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
$ sudo R CMD javareconf
Шаги:
Находят Ваше местоположение R. Это будет сохранено в rsession-ld-library-path
в rserver.conf
файл. Или только путем выполнения which R
. Местоположение обычно /usr/lib64/R/lib
, или /usr/lib64/microsoft-r/3.3/lib64/R/lib
Находят libjvm.so
файл, который обычно находится в эти usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
путь, в зависимости от которого jre Вы используете. Проверьте echo $JAVA_HOME
.
Создают символьную ссылку с помощью ln -s
sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib64/microsoft-r/3.3/lib64/R/lib/libjvm.so
Перезапуск R сервер