Не удалось установить пакет rj для плагина Eclipse StatEt - PullRequest
0 голосов
/ 25 августа 2018

Поскольку обновление Ubuntu до 18.04 разрушило мою рабочую конфигурацию Eclipse, я переустановил Eclipse (Photon Release 4.8.0) и попытался снова использовать R с плагином StatET 3.6. Как и предполагалось здесь , я попытался установить пакет rj-2.1 в консоль термина R через

install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-2.1")

и это начало устанавливать rj и rj.gd

Installing packages into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)

но заканчивается сообщением об ошибке:

Warning message:
In install.packages(c("rj", "rj.gd"), repos = "http://download.walware.de/rj-2.1") :
  installation of package ‘rj’ had non-zero exit status

При более внимательном рассмотрении вывода на консоль выдается следующее сообщение об ошибке:

checking Java support in R... configure: error: cannot determine complete java config
    JAVA_HOME: /usr/lib/jvm/default-java
    JAVA     : /usr/lib/jvm/default-java/bin/java
    JAVAC    : /usr/lib/jvm/default-java/bin/javac
    JAVAH    : 
    JAVA_CPPFLAGS: -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux
    JAVA_LIBS: -L/usr/lib/jvm/default-java/lib/server -ljvm
    JAR      : /usr/lib/jvm/default-java/bin/jar
R is not configured with full Java support. Please make sure
an JDK is installed and run
    R CMD javareconf
as root to add Java support to R.

If you don't have root privileges, run
    R CMD javareconf -e
to set all Java-related variables and then install the package.
ERROR: configuration failed for package ‘rj’
* removing ‘/usr/local/lib/R/site-library/rj’
* restoring previous ‘/usr/local/lib/R/site-library/rj’

Когда я запускаю предложенную команду

sudo R CMD javareconf

в терминале, вывод предполагает, что он работает как положено

Java interpreter : /usr/lib/jvm/default-java/bin/java
Java version     : 10.0.2
Java home path   : /usr/lib/jvm/default-java
Java compiler    : /usr/lib/jvm/default-java/bin/javac
Java headers gen.: 
Java archive tool: /usr/lib/jvm/default-java/bin/jar

trying to compile and link a JNI program 
detected JNI cpp flags    : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux     -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-AitvI6/r-base-3.4.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c conftest.c -o conftest.o
g++ -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/default-java/lib/server -ljvm -L/usr/lib/R/lib -lR


JAVA_HOME        : /usr/lib/jvm/default-java
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags    : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /usr/lib/R
Done.

Тем не менее, установка rj-2.1 все равно выдает то же сообщение об ошибке. Я посмотрел на /usr/local/lib/R/site-library и rj.gd обновлен, но rj - все еще предыдущая версия. И запуск консоли R выдает сообщение об ошибке

eclipse.buildId=4.8.0.I20180611-0500
java.version=10.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product

de.walware.statet.r.console.ui

Launching the R Console was cancelled, because it seems starting the R engine failed.
Please make sure that R package 'rj' (2.1 or compatible) is installed and that the R library paths are set correctly for the R environment configuration 

Есть идеи, как установить rj?

P.S .: Кажется, проблема в версии Java. В Ubuntu 18.04 предварительно установлена ​​эта версия:

openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1, mixed mode)

Обновление:
Не зная ничего изменив, установка rj и rj.gd с консоли Rterm теперь работала. Файлы в /usr/local/lib/R/site-library действительно обновлены, и на консоли Rterm нет сообщений об ошибках.
Тем не менее, при создании и запуске консоли RJ появляется то же сообщение об ошибке

Launching the R Console was cancelled, because it seems starting the R engine failed. 
Please make sure that R package 'rj' (2.1 or compatible) is installed and that the R library paths are set correctly for the R environment configuration 'Rstatet36'.

Я также снова определил Preferences>Statet>R environment и Run Configurations безрезультатно.

Обновление: если вы отрицаете вопрос, было бы целесообразно добавить комментарий, почему вы это сделали, чтобы вопрос мог быть улучшен. Или удален. Ну что ж.

1 Ответ

0 голосов
/ 29 августа 2018

Это действительно была неправильная среда Java.Установка не займет много времени, если вы знаете, что делать, но выяснить это было довольно утомительно:

1) Установите openjdk 8 на Ubuntu 18.04 с sudo apt install openjdk-8-jdk.Я думал, что простое изменение версии Java по умолчанию с sudo update-alternatives --config java может помочь, но это не так.Так что не делай этого.

2) Перейдите в Eclipse> Настройки> Java> Установленные JRE: enter image description here Там выберите ADD и укажите папку, в этом случае / usr / lib / jvm / java-8-opdenjdk-amd64.Нажмите OK.

3) Перейдите в «Выполнить»> «Выполнить конфигурации» и дважды щелкните по R console, чтобы открыть новую конфигурацию запуска.Выберите RJ (default)

enter image description here

4) Перейдите на вкладку JRE и выберите Java 8 из Alternate JRE enter image description here

5) Дайте новой конфигурации правильное имя, нажмите Apply и Run, и ваша консоль RJ запустится.По крайней мере, так было в моей среде.

...