Предупреждения в установке rJava на Ubuntu 16.04 32 бит, возможно, связаны с ошибкой установки XLConnectJars
При установке rJava, установка успешно завершена, но в процессе есть множество предупреждений. Это первое:
jri_glue.c: In function ‘PushToREXP’:
jri_glue.c:24:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
jpar[1].j = (jlong) robj;
^
jri_glue.c: In function ‘RReleaseREXP’:
jri_glue.c:52:11: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
SEXP x = (SEXP) r;
^
Это второй блок предупреждений:
warning: [options] bootstrap class path not set in conjunction with -source 1.4
warning: [options] source value 1.4 is obsolete and will be removed in a future release
warning: [options] target value 1.4 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
4 warnings
Вот первые строки третьего блока предупреждений, который в общей сложности содержит почти 500 строк:
In file included from Rengine.c:4:0:
Rengine.c: In function ‘Java_org_rosuda_JRI_Rengine_rniParse’:
jri.h:21:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
#define SEXP2L(s) ((jlong)(s))
^
Rengine.c:121:14: note: in expansion of macro ‘SEXP2L’
return SEXP2L(pstr);
^
Причина, по которой я думаю, что есть проблема, заключается в следующем: Когда я пытаюсь установить другой пакет, который зависит от rJava
а именно XLConnectJars
Я получаю ошибку сегментации:
> install.packages("XLConnectJars")
[...]
* installing *source* package ‘XLConnectJars’ ...
** Paket ‘XLConnectJars’ erfolgreich entpackt und MD5 Summen überprüft
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Segmentation fault (core dumped)
ERROR: loading failed
Почему это происходит, что я могу с этим сделать?
В июне / июле 2017 г. аналогичные проблемы появились после обновления до ядра 4.4.0-81-generic
, но ядро с тех пор было исправлено:
https://github.com/miraisolutions/xlconnect/issues/70
(Мое текущее ядро 4.10.0-35-generic
.)
Кроме того, предлагаемые обходные пути там и в связанных потоках (например, увеличение размера стека потока с помощью -Xss2048k
вариант) не работают на моей машине.
Установка rJava
с помощью sudo apt-get install r-cran-rjava
как подсказали во многих местах, тоже не помогло.
Моя версия Java
~$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK Server VM (build 25.131-b11, mixed mode)
и sessionInfo() возвращает
R version 3.4.2 (2017-09-28)
Platform: i686-pc-linux-gnu (32-bit)
Running under: Ubuntu 16.04.3 LTS
Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
locale:
[1] LC_CTYPE=de_DE.UTF-8 LC_NUMERIC=C LC_TIME=de_DE.UTF-8
[4] LC_COLLATE=de_DE.UTF-8 LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=de_DE.UTF-8
[7] LC_PAPER=de_DE.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rJava_0.9-8
loaded via a namespace (and not attached):
[1] compiler_3.4.2 tools_3.4.2
Спасибо за любую помощь.