Podczas instalacji rJavy za pomocą install.packages("rJava")
polecenia otrzymuję następujący błąd:
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’
Mam zainstalowany pakiet Java JDK i java -version
zwraca:
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Kiedy szukam błędu w Google, widzę, że inni mają ten sam problem, ale nie znajdują rozwiązania innego niż „zainstaluj cały JDK, a nie tylko JRE”, co zrobiłem.
Inną rzeczą, którą przeczytałem, było uruchomienie, sudo R CMD javareconf
które działa całkiem szczęśliwie bez błędów.
Jakieś pomysły na czym polega mój problem?
[[EDYTUJ]] Minęło kilka miesięcy, odkąd miałem ten problem. Początkowo rozwiązałem to, edytując moje ścieżki w Javie, jak pokazano w odpowiedzi, którą zamieściłem poniżej. Niedawno napotkałem ten sam problem podczas nowej instalacji Ubuntu. Wypróbowałem zalecenie Dirka, aby użyć apt-get do zainstalowania pakietu rJava. Działało idealnie. To, czego początkowo nie doceniłem, to fakt, że instalowanie pakietów przy użyciu metody Ubuntu apt-get różni się zasadniczo od zwykłego ładowania tego samego pakietu przy użyciu funkcji install.packages () w R. Pakiety Ubuntu rozwiązują niektóre problemy, których nie zdawałem sobie sprawy lub nie doceniałem .
readxl
ale do pisania z powrotem w Excelu wolę openxlsx
. Żadne nie wymaga rJava.