Public bug reported: The Ubuntu tomcat8 server fails to properly serve the MetaboAnalyst server application when installed as described upstream at http://www.metaboanalyst.ca/faces/docs/Resources.xhtml. A manual installation of a glassfish4 4.1.2 server has no problems serving the same MetaboAnalyst.war.
The problem can be easily reproduced on current Ubuntu 16.04 Xenial x86_64 workstation using the following steps... 1) Install the required R 3.4.1 release and associated cran packages required for the current Bioconductor R packages by executing... sudo add-apt-repository ppa:marutter/c2d4u sudo add-apt-repository ppa:marutter/rrutter sudo apt-get update sudo apt-get install r-cran-bh r-cran-bitops r-cran-boot r-cran-cairo r-cran-car r-cran-caret r-cran-catools r-cran-class r-cran-cluster r-cran-codetools r-cran-colorspace r-cran-curl r-cran-devtools r-cran-dichromat r-cran-digest r-cran-e1071 r-cran-ellipse r-cran-foreach r-cran-foreign r-cran-gdata r-cran-gdtools r-cran-ggplot2 r-cran-git2r r-cran-gplots r-cran-gtable r-cran-gtools r-cran-httr r-cran-igraph r-cran-irlba r-cran-iterators r-cran-jsonlite r-cran-kernsmooth r-cran-labeling r-cran-lattice r-cran-lazyeval r-cran-lme4 r-cran-magrittr r-cran-mass r-cran-matrix r-cran-matrixmodels r-cran-memoise r-cran-mgcv r-cran-mime r-cran-minqa r-cran-modelmetrics r-cran-multicore r-cran-munsell r-cran-nlme r-cran-nloptr r-cran-nnet r-cran-openssl r-cran-pbkrtest r-cran-pheatmap r-cran-pkgconfig r-cran-pls r-cran-plyr r-cran-proc r-cran-quantreg r-cran-r6 r-cran-randomforest r-cran-rcolorbrewer r-cran-rcpp r-cran-rcppeigen r-cran-reshape2 r-cran-rjsonio r-cran-rlang r-cran-rocr r-cr an-rpart r-cran-rserve r-cran-rstudioapi r-cran-scales r-cran-scatterplot3d r-cran-som r-cran-sparsem r-cran-spatial r-cran-stringi r-cran-stringr r-cran-survival r-cran-svglite r-cran-tibble r-cran-whisker r-cran-withr r-cran-xtable 2) Since upstream Bioconductor constantly updates and often has temporary build issues, download the pre-built x86_64 binaries for placement in /usr/local/lib/R from https://www.dropbox.com/s/x7o8596k3nnzq99/R_bioc_local_lib.tar.bz2?dl=0 and then extract the obtained bioc_local_lib.tar.bz2 using the commands... cd /usr/local/lib sudo mv R R.sav sudo tar -jxvf <path_to>/R_bioc_local_lib.tar.bz2 3) Execute... sudo apt-get install libnetcdf-dev build-essential libboost-dev libxml2-dev ...to make sure all of the shared lib dependencies for these Bioconductor shared modules are satisfied. 4) Now install the current tomcat8 packages with... sudo apt-get install tomcat8 tomcat8-admin tomcat8-user libtomcat8-java tomcat8-docs tomcat8-examples 5) Obtain the MetaboAnalyst.war from https://dl.dropboxusercontent.com/u/95163184/MetaboAnalyst.war and manually deploy it with the commands... sudo cp <path_to_war>/MetaboAnalyst.war /var/lib/tomcat8/webapps Note that MetaboAnlystwar is larger than the max size allowed in the tomcat8 admin web interface so that limit has to increased if the deployment is done from the web interface. 6) Now start the Rserve required for the MetaboAnalyst server by executing... sudo -u tomcat8 R and at the R prompts execute... library(Rserve) Rserve() 7) Now attempt to connect to the MetaboAnalyst server at the URL... http://localhost:8080/MetaboAnalyst/ The expected results are seen by connecting to the official MetaboAnalyst site using the URL... http://www.metaboanalyst.ca/ while the Ubuntu tomcat8 fails with the error message... HTTP Status 404 - type Status report message description The requested resource is not available. Apache Tomcat/8.0.32 (Ubuntu) appearing in the browser for the connection to http://localhost:8080/MetaboAnalyst/ This issue is seen with both the openjdk and oracle jdk8 packages installed under Ubuntu. Also, tomcat8 is known to work fine on other platforms. For example, the fink packaging system on MacOS uses the same installation and setup for the MetaboAnalyst server against the Oracle JDK8 without issue. Lastly, a manual installation of glassfish4 under Ubuntu can be used to confirm that the MetaboAnalyst installation described above is functional with the following steps... 1) Stop the tomcat8 server with the command... sudo service tomcat8 stop 2) Exit the previous R session with 'q()' and kill any launched Rserve daemons with... sudo killall -9 Rserve 3) Download glassfish4 4.1.2.zip from http://download.java.net/glassfish/4.1.2/release/glassfish-4.1.2.zip and install it in a user account with... unzip glassfish-4.1.2.zip 4) start the glassfish4 serve with the command... glassfish4/bin/asadmin start-domain 5) Deploy the using the glassfish admin interface accessed at http://localhost:4848 6) Start the Rserve as the current user by executing 'R' and then exexute the following commands at the R prompt... library(Rserve) Rserve() 7) Now connect to the local MetaboAnalyst server running under glassfish4 at the URL... http://localhost:8080/MetaboAnalyst/ which should produce identical results as that of the official server at http://www.metaboanalyst.ca/ ** Affects: tomcat8 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1707208 Title: ubuntu tomcat8 packaging breaks MetaboAnalyst application To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/tomcat8/+bug/1707208/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
