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

Reply via email to