aldro61 / kover

Learn interpretable computational phenotyping models from k-merized genomic data
http://aldro61.github.io/kover/
GNU General Public License v3.0
50 stars 14 forks source link

Higher version of `gatb-core` required #59

Closed goepp closed 3 years ago

goepp commented 3 years ago

Hi! Installation of kover does not seem to be compatible with Ubuntu 20.04 using gcc 9.3.0 and make 4.2.1. This has to do with gatb-core 1.2.2 which I cannot compile on my machine (the make -j8 command launches compilation errors). I changed "v.1.2.2" for "v.1.4.2" in the file installing gatb in kover and all works well: gatb gets compiled and kover works.

Shall we modify the installation file to download the right version of gatb according to what version of gcc/cmake is installed? I just don't know whether the incompatibility comes from make, gcc, or something else.

aldro61 commented 3 years ago

Hi @goepp!

Thanks for reporting this. I will try to reproduce in Docker with the same setup you mention.

Updating GATB to a more recent version is definitely a good idea.

As for downloading a version based on the version of gcc/cmake is installed, which file are you referring to? In the release files, I only see the following options: 1) Darwin, 2) Linux, 3) source. Right now, we download the source code and build it from scratch.

goepp commented 3 years ago

Sorry for the imprecision, I was referring to downloading the source code.

aldro61 commented 3 years ago

I reproduced your setup and confirm that I have the same issue. As you noticed, there seems to be two issues:

  1. -j8 leads to compilation errors. I suspect this is due to the memory consumption of having 8 parallel jobs. We can just drop it.
  2. Version 1.2.2 of GATB does not build correctly on Ubuntu 20.04, but 1.4.2 does. We can simply switch to that version.

I will test that this also works on previous version of Ubuntu and then make the changes.

Thanks!

aldro61 commented 3 years ago

hmm scratch that. I tried again with a fresh Ubuntu 20.04 setup with the following configuration and it works fine with the current version of Kover. I still don't mind increasing the GATB version, but that doesn't seem to be the issue:

FROM ubuntu:20.04

ARG DEBIAN_FRONTEND=noninteractive

# Install system requirements
RUN apt-get update
RUN apt-get -y install build-essential cmake curl git hdf5-tools nano software-properties-common unzip wget zlib1g-dev

# Install Python 2 (needed for Kover)
RUN add-apt-repository universe && \
    apt-get -y install python2.7 python-dev && \
    update-alternatives --install /usr/bin/python python /usr/bin/python2.7 30 && \
    curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py && \
    python ./get-pip.py

# Install python requirements
RUN pip install --upgrade pip
RUN pip install cython numpy scipy

# Install Kover
ADD https://github.com/aldro61/kover/zipball/kover2 kover.zip
RUN unzip kover.zip && mv aldro61* kover
RUN cd kover; sh ./install.sh
ENV PATH="/kover/bin:${PATH}"
aldro61 commented 3 years ago

Could you post the error that you're getting?

goepp commented 3 years ago

Sure; here is the output (stdout and stderr) of ./install.sh: error_message.txt (compilation errors start at line 664). I don't know if it matters, but I am running install.sh from within a conda environment.

goepp commented 3 years ago

I believe it is not worth changing the GATB version if the error is not reproducible and thus seems to be on my side

aldro61 commented 3 years ago

The messages that you see in the stderr are warnings thrown by the compiler due to the GATB code. I never figured out how to avoid them. These should not prevent the code from being built in the end.

Can you check that your installation works by running this tutorial: https://aldro61.github.io/kover/doc_tut_scm.html?

goepp commented 3 years ago

My bad, the installation does work with gatb 1.2.2. What I thought were error messages were just warnings!..