Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues installing current master branch #23

Open
christianhuth opened this issue Jul 26, 2021 · 20 comments
Open

Issues installing current master branch #23

christianhuth opened this issue Jul 26, 2021 · 20 comments

Comments

@christianhuth
Copy link

christianhuth commented Jul 26, 2021

As it was not possible to install the 19.0 release with the official release files, i tried to install from the current master branch.

While compiling the R packages i receive the following error:
cannot open URL 'http://bioconductor.org/packages/release/bioc/src/contrib/QDNAseq_1.26.0.tar.gz': HTTP status was '404 Not Found'

After some investigation i found out, that Bioconductor only hosts v1.28.0. So http://bioconductor.org/packages/release/bioc/src/contrib/QDNAseq_1.28.0.tar.gz seems to work.

Should we use 1.28.0 or 1.26.0 from another location?

@christianhuth
Copy link
Author

For people looking at this error in the future:

After changing the path to QDNAseq in transmart-data/R/other_pkg.R i was not able to continue with the installation script, because of the following error:

------------------------------------------------------------
|  Checking for required folders and files for the R install
------------------------------------------------------------
The R package at /home/transmart/transmart/transmart-data/R/root/lib/R/library/WGCNA
  is required and does not exist; this should have been created
  in the 'buildR' step of the install; repeat that step
The R package at /home/transmart/transmart/transmart-data/R/root/lib/R/library/CGHtest
  is required and does not exist; this should have been created
  in the 'buildR' step of the install; repeat that step
The R package at /home/transmart/transmart/transmart-data/R/root/lib/R/library/CGHtestpar
  is required and does not exist; this should have been created
  in the 'buildR' step of the install; repeat that step
There are 3 R/BioConductor packages missing

i was able to solve this by running:

cd ~/transmart/transmart-data
cp vars.sample vars
. ./vars
make -C R install_packages

after this i was able to run ./Scripts/install-ubuntu20/InstallTransmart.sh 2>&1 | tee ~/install.log again

@christianhuth
Copy link
Author

Next error:

++++++++++++++++++++++++++++++++++++++++++++++++++++
+  Set up basic PostgreSQL; supports transmart login
++++++++++++++++++++++++++++++++++++++++++++++++++++
DROP ROLE
CREATE ROLE
Setting up PostgreSQL database
make -C ddl/postgres/GLOBAL createdb
make[1]: Entering directory '/home/transmart/transmart/transmart-data/ddl/postgres/GLOBAL'
test `/usr/bin/psql -v ON_ERROR_STOP=1 --single-transaction -X -d template1 -c "select exists (select datname from pg_database where datname = 'transmart')" -tA` \
                = 'f' || (echo -e "\e[31mERROR\e[m: Database transmart already exists or connection error"; false)
/usr/bin/psql -v ON_ERROR_STOP=1 -X -d template1 -c "CREATE DATABASE transmart TEMPLATE template0 \
                ENCODING='UTF-8' LC_COLLATE='en_US.UTF-8'"
ERROR:  invalid locale name: "en_US.UTF-8"
make[1]: *** [Makefile:49: createdb] Error 1
make[1]: Leaving directory '/home/transmart/transmart/transmart-data/ddl/postgres/GLOBAL'
make: *** [Makefile:4: postgres] Error 2

@christianhuth
Copy link
Author

Solution for the last error:

sudo locale-gen en_US.UTF-8
sudo systemctl restart postgresql

@christianhuth
Copy link
Author

Next error:

make[3]: Entering directory '/home/transmart/transmart/transmart-data/data/common'
php gen_makefile.php searchapp > searchapp/makefile.inc
../../common/i2b2hive/makefile.inc:2: /home/pmr/git-master/transmart/transmart-data/data/common/makefile_schemas.inc: No such file or directory
make[3]: *** No rule to make target '/home/pmr/git-master/transmart/transmart-data/data/common/makefile_schemas.inc'.  Stop.
make[3]: Leaving directory '/home/transmart/transmart/transmart-data/data/postgres/i2b2hive'
make[2]: *** [../common/makefile.inc:37: load_schema_i2b2hive] Error 2
make[3]: Leaving directory '/home/transmart/transmart/transmart-data/data/common'
make[3]: Leaving directory '/home/transmart/transmart/transmart-data/data/common'
make[2]: Leaving directory '/home/transmart/transmart/transmart-data/data/postgres'
make[1]: *** [Makefile:9: postgres_load] Error 2
make[1]: Leaving directory '/home/transmart/transmart/transmart-data'
make: *** [Makefile:5: postgres] Error 2

@christianhuth
Copy link
Author

christianhuth commented Jul 26, 2021

I found out that these files need to be changed:

wrong

data/oracle/biomart_user/Makefile:COMMON_DIR := /home/pmr/git-master/transmart/transmart-data/data/common
data/oracle/i2b2hive/Makefile:COMMON_DIR := /home/pmr/git-master/transmart/transmart-data/data/common
data/postgres/biomart_user/Makefile:COMMON_DIR := /home/pmr/git-master/transmart/transmart-data/data/common
data/postgres/i2b2hive/Makefile:COMMON_DIR := /home/pmr/git-master/transmart/transmart-data/data/common

correct

data/oracle/biomart_user/Makefile:COMMON_DIR := /home/transmart/transmart/transmart-data/data/common
data/oracle/i2b2hive/Makefile:COMMON_DIR := /home/transmart/transmart/transmart-data/data/common
data/postgres/biomart_user/Makefile:COMMON_DIR := /home/transmart/transmart/transmart-data/data/common
data/postgres/i2b2hive/Makefile:COMMON_DIR := /home/transmart/transmart/transmart-data/data/common

to continue with the installation progress you have to delete the already created transmart database and roles. The easiest way for me was to completely uninstall postgresql and remove the postgres data directories from the host:

sudo apt-get purge -y postgresql*
sudo rm -rf /var/lib/postgresql

@christianhuth
Copy link
Author

Here goes the next error:

Caught: java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/transmart
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/transmart
        at java_sql_DriverManager$getConnection.call(Unknown Source)
        at read_cms_file.run(read_cms_file.groovy:28)
make[3]: *** [Makefile:8: read_cms_file] Error 1

@christianhuth christianhuth changed the title Issue installing current master branch Issues installing current master branch Jul 26, 2021
@christianhuth
Copy link
Author

i "solved" this problem by removing the execution of the make receipt read_cms_file

commented in transmart-data/data/postgres/biomart_user/Makefile:

#read_cms_file:
#               groovy -cp '$(CP_PSQL)' read_cms_file.groovy

removed in transmart-data/data/common/biomart_user/makefile.inc:

load: load_cms_file load_cms_section read_cms_file
load: load_cms_file load_cms_section

@christianhuth
Copy link
Author

Next error:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/transmart/transmart/transmart-data/samples/studies/build_datasets_index.groovy: 84: Error during @TupleConstructor processing: 'excludes' property 'URL' does not exist.
 @ line 84, column 1.
   @Canonical(excludes = 'URL')
   ^

/home/transmart/transmart/transmart-data/samples/studies/build_datasets_index.groovy: 84: Error during @EqualsAndHashCode processing: 'excludes' property 'URL' does not exist.
 @ line 84, column 1.
   @Canonical(excludes = 'URL')
   ^

2 errors

make[2]: *** [Makefile:5: datasets] Error 1

@christianhuth
Copy link
Author

i "solved" this problem by commenting line 84 in transmart-data/samples/studies/build_datasets_index.groovy

//@Canonical(excludes = 'URL')

@christianhuth
Copy link
Author

Next error:

ERROR: Error fetching data sets for feed HttpIndexFeed(http://localhost/datasets/OSPF/ospf_index): http://localhost/datasets/OSPF/ospf_index
make[2]: *** [Makefile:5: datasets] Error 1

@christianhuth
Copy link
Author

I edited transmart-data/samples/studies/public-feeds and removed line 8:

http-index      http://localhost/datasets/OSPF/ospf_index

@christianhuth
Copy link
Author

The installation now stops with

PostgreSQL does not appear to be running; start it
  with the command: sudo /etc/init.d/postgresql restart

@christianhuth
Copy link
Author

I gave the solution already in another issue. Check it out here: #22 (comment)

@christianhuth
Copy link
Author

But there is already the next problem...

-------------------------------------------------------------
|  Checking for required transmart/grails configuration files
-------------------------------------------------------------
The file at /var/lib/tomcat9/.grails/transmartConfig/Config.groovy
  is required and does not exist; this should have been created
  in the 'buildConfig' step of the install; repeat that step
The file at /var/lib/tomcat9/.grails/transmartConfig/DataSource.groovy
  is required and does not exist; this should have been created
  in the 'buildConfig' step of the install; repeat that step

@christianhuth
Copy link
Author

The files are created in the wrong directory, so we need to create the folder and copy these files:

sudo mkdir -p /var/lib/tomcat9/.grails/transmartConfig/
sudo cp /home/$USER/.grails/transmartConfig/*.groovy /var/lib/tomcat9/.grails/transmartConfig/
sudo chown -R tomcat:tomcat /var/lib/tomcat9/.grails/transmartConfig/

@christianhuth
Copy link
Author

Next problem...

-------------------------------------------------
|  Checking for required tomcat files and folders
-------------------------------------------------
The file at /var/lib/tomcat9/logs/catalina.out
  does not exist; it is likely the case that tomcat was never started;
  start it with the command: 'sudo service tomcat9 restart'

@christianhuth
Copy link
Author

solution for this:

sudo touch /var/lib/tomcat9/logs/catalina.out
sudo chown tomcat:tomcat /var/lib/tomcat9/logs/catalina.out

@christianhuth
Copy link
Author

christianhuth commented Jul 26, 2021

next problem:

The Rserve process does not appear to be running; start it
  with the command:
    sudo systemctl start rserve

with the following root of the problem:

sudo systemctl status rserve
● rserve.service - Rserve (TCP/IP server for running R expressions)
     Loaded: loaded (/etc/systemd/system/rserve.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2021-07-26 21:33:12 CEST; 83ms ago
       Docs: http://rforge.net/Rserve/
    Process: 382362 ExecStart=/home/transmart/transmart/transmart-data/R/root/bin/R CMD Rserve --quiet --vanilla --RS-conf /home/transmart/transmart/transmart-data/R/Rserv_nodaemon.conf (code=exited, status=209/STDOUT)
   Main PID: 382362 (code=exited, status=209/STDOUT)

Jul 26 21:33:12 svm-ap-dizc41p systemd[382362]: rserve.service: Failed at step STDOUT spawning /home/transmart/transmart/transmart-data/R/root/bin/R: No such file or directory

which is super strange as i can execute

/home/transmart/transmart/transmart-data/R/root/bin/R CMD Rserve --quiet --vanilla --RS-conf /home/transmart/transmart/transmart-data/R/Rserv_nodaemon.conf 

manually without any problem. Any ideas how to solve this?

@christianhuth
Copy link
Author

Furthermore i am able to access tranSMART via localhost:8080/transmart now, but i receive again errors. From the transmart.log:

26-07-2021 21:45:09,496 ERROR GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /transmart/login/auth
Cannot invoke method encodeBase64() on null object. Stacktrace follows:
org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: Error executing tag <g:link>: Cannot invoke method encodeBase64() on null object
        at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
        at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
        at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
        at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
        at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Error executing tag <g:link>: Cannot invoke method encodeBase64() on null object
        at gsp_transmart_loginauth_gsp$_run_closure2.doCall(gsp_transmart_loginauth_gsp.groovy:37)
        at gsp_transmart_loginauth_gsp.run(gsp_transmart_loginauth_gsp.groovy:118)
        ... 8 more
Caused by: java.lang.NullPointerException: Cannot invoke method encodeBase64() on null object
        at org.transmart.plugin.custom.CmsTagLib$_closure3.doCall(CmsTagLib.groovy:53)
        at gsp_transmart_loginauth_gsp$_run_closure2$_closure5.doCall(gsp_transmart_loginauth_gsp.groovy:34)
        ... 10 more

@christianhuth
Copy link
Author

Any feedback on these errors possible?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant