davidgohel / ReporteRs

Note that ReporteRs has been removed from CRAN the 16th of July 2018 and is not maintained anymore. please migrate to officer.
244 stars 44 forks source link

Install failure in R 3.4.0 #194

Closed ncole0 closed 7 years ago

ncole0 commented 7 years ago

I'm trying to get ReporteRs installed in my new installation of R 3.4.0, and am getting a Seg fault error during the install of the ReporteRsjars dependency. I have tried installing via bioconductor 3.5 and directly via CRAN and both have resulted in the same issue. I've verified I have a working rJava installation running Java 1.8. I'm running on a CentOS 6 server. Any ideas as to what is causing the problem?


> biocLite(c("ReporteRs"))
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.5 (BiocInstaller 1.26.0), R 3.4.0 (2017-04-21).
Installing package(s) ‘ReporteRs’
also installing the dependency ‘ReporteRsjars’

trying URL 'https://cran.rstudio.com/src/contrib/ReporteRsjars_0.0.2.tar.gz'
Content type 'application/x-gzip' length 5496642 bytes (5.2 MB)
==================================================
downloaded 5.2 MB

trying URL 'https://cran.rstudio.com/src/contrib/ReporteRs_0.8.8.tar.gz'
Content type 'application/x-gzip' length 375172 bytes (366 KB)
==================================================
downloaded 366 KB

* installing *source* package ‘ReporteRsjars’ ...
** package ‘ReporteRsjars’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
No man pages found in package  ‘ReporteRsjars’ 
*** installing help indices
** building package indices
** testing if installed package can be loaded
sh: line 1: 10694 Segmentation fault      (core dumped) '/DCEG/Resources/Tools/R/R-3.4.0/R-3.4.0_build/bin/R' --no-save --slave 2>&1 < '/tmp/RtmpDzS002/file297213c1b43b'
ERROR: loading failed
* removing ‘/mnt/nfs/gigantor/ifs/DCEG/Resources/Tools/R/R-3.4.0/R-3.4.0_build/library/ReporteRsjars’
ERROR: dependency ‘ReporteRsjars’ is not available for package ‘ReporteRs’
* removing ‘/mnt/nfs/gigantor/ifs/DCEG/Resources/Tools/R/R-3.4.0/R-3.4.0_build/library/ReporteRs’

The downloaded source packages are in
    ‘/tmp/RtmptMIv4X/downloaded_packages’
Old packages: 'Biobase', 'BiocParallel', 'GenomicRanges', 'limma', 'minfi',
  'SummarizedExperiment', 'XML'
n
Warning messages:
1: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘ReporteRsjars’ had non-zero exit status
2: In install.packages(pkgs = doing, lib = lib, ...) :
  installation of package ‘ReporteRs’ had non-zero exit status

system("java -version")
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
> require(rJava)
Loading required package: rJava
> .jinit()
> .jcall('java.lang.System','S','getProperty','java.version')
[1] "1.8.0_111"
davidgohel commented 7 years ago

I ran install with rhub on fedora and got the following:

934#> configure: error: Java Development Kit (JDK) is missing or not registered in R
935#> Make sure R is configured with full Java support (including JDK). Run
936#> R CMD javareconf
937#> as root to add Java support to R.
938#> If you don't have root privileges, run
939#> R CMD javareconf -e
940#> to set all Java-related variables and then install rJava.
941#> ERROR: configuration failed for package ‘rJava’

Can you check you don't have errors with rJava (I know you checked but ... rJava hell!)? ReporteRsjars is just a bunch of jars.

Also, you could use officer instead, install issues are one of the motivation of officer.

David

xcountry02 commented 7 years ago

I have a server with Ubuntu 14.04, R version 3.3.1. I've reinstalled java, using java7, java8 and java9 currently. All of them had a segmentation fault when trying to install 'ReporteRs' package. How do you think I can fix this problem?

davidgohel commented 7 years ago

Can you confirm you ran R CMD javareconf as root (see my answer just below)?

BoyaoZhang commented 7 years ago

I cannot install it either. Any help?

boyao@boyao-CELSIUS-W370:~$ sudo R CMD javareconf
[sudo] password for boyao: 
Java interpreter : /usr/lib/jvm/default-java/jre/bin/java
Java version     : 1.8.0_131
Java home path   : /usr/lib/jvm/default-java
Java compiler    : /usr/lib/jvm/default-java/bin/javac
Java headers gen.: /usr/lib/jvm/default-java/bin/javah
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)/jre/lib/amd64/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 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR

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

boyao@boyao-CELSIUS-W370:~$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-0ubuntu1.16.04.2-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
boyao@boyao-CELSIUS-W370:~$ R

R version 3.4.0 (2017-04-21) -- "You Stupid Darkness"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> install.packages("ReporteRs")
Installing package into ‘/home/boyao/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
also installing the dependency ‘ReporteRsjars’

trying URL 'https://cran.uni-muenster.de/src/contrib/ReporteRsjars_0.0.2.tar.gz'
Content type 'application/x-gzip' length 5496642 bytes (5.2 MB)
==================================================
downloaded 5.2 MB

trying URL 'https://cran.uni-muenster.de/src/contrib/ReporteRs_0.8.8.tar.gz'
Content type 'application/x-gzip' length 375172 bytes (366 KB)
==================================================
downloaded 366 KB

* installing *source* package ‘ReporteRsjars’ ...
** package ‘ReporteRsjars’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
No man pages found in package  ‘ReporteRsjars’ 
*** installing help indices
** building package indices
** testing if installed package can be loaded
Segmentation fault (core dumped)
ERROR: loading failed
* removing ‘/home/boyao/R/x86_64-pc-linux-gnu-library/3.4/ReporteRsjars’
ERROR: dependency ‘ReporteRsjars’ is not available for package ‘ReporteRs’
* removing ‘/home/boyao/R/x86_64-pc-linux-gnu-library/3.4/ReporteRs’

The downloaded source packages are in
    ‘/tmp/RtmpZYnUeb/downloaded_packages’
Warning messages:
1: In install.packages("ReporteRs") :
  installation of package ‘ReporteRsjars’ had non-zero exit status
2: In install.packages("ReporteRs") :
  installation of package ‘ReporteRs’ had non-zero exit status
davidgohel commented 7 years ago

Thanks for the feedback!

I have been able to reproduce the issue. The call to rJava:: jpackage in ReporteRsjars package is the reason of the crash.

xcountry02 commented 7 years ago

I did, that was one of the pngs I sent you. I can do javareconf, I can install rJava. But ReporteRs fails. I think the problem may be in ReporteRsjars.

Also, xlsx package fails.

Kurt Michels

----- Reply message ----- From: "David Gohel" notifications@github.com To: "davidgohel/ReporteRs" ReporteRs@noreply.github.com Cc: "xcountry02" kurt.a.michels@gmail.com, "Comment" comment@noreply.github.com Subject: [davidgohel/ReporteRs] Install failure in R 3.4.0 (#194) Date: Thu, Jun 22, 2017 1:56 PM

Thanks for the feedback! If possible, could you please run install.packages("rJava")?

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/davidgohel/ReporteRs","title":"davidgohel/ReporteRs","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/davidgohel/ReporteRs"}},"updates":{"snippets":[{"icon":"PERSON","message":"@davidgohel in #194: Thanks for the feedback!\r\n\r\nIf possible, could you please run install.packages(\"rJava\")?"}],"action":{"name":"View Issue","url":"https://github.com/davidgohel/ReporteRs/issues/194#issuecomment-310455283"}}}

davidgohel commented 7 years ago

@xcountry02

that was one of the pngs I sent you

OK, sorry! I am receiving several emails about ReporteRs each week and 99% of them are questions that are already documented, rJava set up questions, feature requests and fix requests that have nothing to do with the package... Consequence is I tend not to read them anymore... I focus on github for issues and stackoverflow for questions. Furthermore, the package is now existing since 3 years and I am fairly confident it has no more major bugs ; since a year, scaring issues are mostly classified as rJava hell.

davidgohel commented 7 years ago

Problem is the call to rJava:: jpackage in ReporteRsjars and ReporteRs packages in .onLoad functions.

This issue is referenced here, it seems it affects all package that import rJava: https://github.com/s-u/rJava/issues/110

To all, if possible, switch to package officer instead that does not rely on rJava.

davidgohel commented 7 years ago

This is going to be solved in the linux kernel:

https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2017-June/017507.html

tyner commented 7 years ago

great news that it will be fixed in the kernel. I have the same issue under RHEL 6; hopefully they will release a patch.

davidgohel commented 7 years ago

I am closing this issue as it looks like the linux kernel has been patched.

tyner commented 7 years ago

For those who don't have the luxury of a patched kernel, a workaround is

export JAVA_TOOL_OPTIONS=-Xss1280k

Update: a more robust workaround is just upgrade rJava to version 0.9-9 (available from CRAN since 10/12/2017)

ncole0 commented 7 years ago

I hate to reopen this, but I'm now having an issue with ReporteRs itself. ReporteRsJars was able to be installed successfully, but now I'm getting this:

/DCEG/Resources/Tools/R/R-3.4.0/R-3.4.0_build_with_png/bin/INSTALL: line 34: 49885 Done echo 'tools:::.install_packages()' 49886 Segmentation fault (core dumped) | R_DEFAULT_PACKAGES= LC_COLLATE=C "${R_HOME}/bin/R" $myArgs --slave --args ${args}

tyner commented 7 years ago

ncole0, do you get the same issue under R version 3.4.1 ?