web-dev-qa-db-ja.com

UbuntuにR3.5.2をインストールします:「jni.h:そのようなファイルまたはディレクトリはありません」

Rの最新バージョンのインストールに問題があり、「致命的なエラー:jni.h:そのようなファイルまたはディレクトリがありません」というエラーが表示されました。 Rのインストールでエラーが発生する前に行ったことは次のとおりです。

#download tar.gz file
https://cran.r-project.org/
#install because we need it for execution of "make"
Sudo apt-get install libx11-dev
Sudo apt-get install xorg-dev
Sudo apt-get install libcurl4-openssl-dev
# decompile
# on terminal
./configure
make

ライブラリをインストールした後、インストールの最後に表示されたのは次のとおりです(長すぎるため、すべてを貼り付けることはできません)。

installing to /home/fafnyr/R/R-3.5.2/library/mgcv/libs
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (mgcv)
make[2]: Leaving directory '/home/fafnyr/R/R-3.5.2/src/library/Recommended'
make[1]: Leaving directory '/home/fafnyr/R/R-3.5.2/src/library/Recommended'
make[1]: Entering directory '/home/fafnyr/R/R-3.5.2/src/library'
building/updating vignettes for package 'grid' ...
building/updating vignettes for package 'parallel' ...
building/updating vignettes for package 'utils' ...
make[1]: Leaving directory '/home/fafnyr/R/R-3.5.2/src/library'
make[1]: Entering directory '/home/fafnyr/R/R-3.5.2'
configuring Java ...
Java interpreter : /usr/bin/Java
Java version     : 10.0.2
Java home path   : /usr/lib/jvm/Java-11-openjdk-AMD64
Java compiler    : not present
Java headers gen.: 
Java archive tool: 

trying to compile and link a JNI program 
detected JNI cpp flags    : 
detected JNI linker flags : -L$(Java_HOME)/lib/server -ljvm
make[2]: Entering directory '/tmp/Rjavareconf.VwU72a'
gcc -I"/home/fafnyr/R/R-3.5.2/include" -DNDEBUG   -I/usr/local/include   -fpic  -g -O2  -c conftest.c -o conftest.o
conftest.c:1:10: fatal error: jni.h: No such file or directory
 #include <jni.h>
          ^~~~~~~
compilation terminated.
/home/fafnyr/R/R-3.5.2/etc/Makeconf:162: recipe for target 'conftest.o' failed
make[2]: *** [conftest.o] Error 1
make[2]: Leaving directory '/tmp/Rjavareconf.VwU72a'
Unable to compile a JNI program


Java_HOME        : /usr/lib/jvm/Java-11-openjdk-AMD64
Java library path: 
JNI cpp flags    : 
JNI linker flags : 
Updating Java configuration in /home/fafnyr/R/R-3.5.2
Done.

make[1]: Leaving directory '/home/fafnyr/R/R-3.5.2'
2
Aimeric Dabin

この問題について、私は解決策を見つけました:

Sudo apt install default-jdk

Makefileの場合も問題があったため、これをインストールしました。

Sudo apt-get install libx11-dev
Sudo apt-get install xorg-dev
Sudo apt-get install libcurl4-openssl-dev

さらに、3.5.2のインストールについて、私は これらの指示 に従いました:

HTTPS経由で新しいリポジトリを追加するために必要なパッケージをインストールします。

  Sudo apt install apt-transport-https software-properties-common

次のコマンドを使用して、CRANリポジトリを有効にし、CRANGPGキーをシステムに追加します。

  Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
  Sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'

リポジトリが追加されたので、パッケージリストを更新し、次のように入力してRパッケージをインストールします。

Sudo apt update
Sudo apt install r-base

インストールが成功したことを確認するには、次のコマンドを実行してRバージョンを出力します。

  R --version
  # or #
  Sudo -i R
2
Aimeric Dabin