EI-CoreBioinformatics / portcullis

Splice junction analysis and filtering from BAM files
https://ei-corebioinformatics.github.io/portcullis/
GNU General Public License v3.0
38 stars 9 forks source link

[Singularity] Installation fails, even following instructions in the recipe in the Repo #36

Closed lucventurini closed 6 years ago

lucventurini commented 6 years ago

Hi Dan, I am trying to create a provisional singularity image for EiAnnot, but I am failing to do so due to compilation errors. I am following the recipe in your Singularity file, ie download and install boost separately. Specifically, the relevant section in Singularity looks like this:

    # Portcullis
    echo "Installing boost"
    wget -q http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
    mv download boost.tar.gz
    tar -xf boost.tar.gz
    cd boost_1_59_0
    ./bootstrap.sh --with-libraries=chrono,timer,program_options,filesystem,system,graph,graph_parallel,iostreams,thread,math
    ./b2 -d0 install;
    cd /opt/software/

    echo "Installing Portcullis"
    git clone --recursive https://github.com/maplesond/portcullis.git
    pip3.6 install pandas
    cd portcullis
    ./autogen.sh
    ./configure --disable-silent-rules
    make V=1 -j 20
    make V=2 -j 20 check
    cat tests/test-suite.log
    make install
    portcullis --help
    cd ../

However, singularity fails with the following output:

libtool: link: (cd ".libs" && rm -f "libranger.so.0" && ln -s "libranger.so.0.3.0" "libranger.so.0")
libtool: link: (cd ".libs" && rm -f "libranger.so" && ln -s "libranger.so.0.3.0" "libranger.so")
libtool: link: ar cru .libs/libranger.a  src/libranger_la-DataChar.o src/libranger_la-Data.o src/libranger_la-DataDouble.o src/libranger_la-DataFloat.o src/libranger_la-ForestClassification.o src/libranger_la-Forest.o src/libranger_la-ForestProbability.o src/libranger_la-ForestRegression.o src/libranger_la-ForestSurvival.o src/libranger_la-TreeClassification.o src/libranger_la-Tree.o src/libranger_la-TreeProbability.o src/libranger_la-TreeRegression.o src/libranger_la-TreeSurvival.o src/libranger_la-utility.o
libtool: link: ranlib .libs/libranger.a
libtool: link: ( cd ".libs" && rm -f "libranger.la" && ln -s "../libranger.la" "libranger.la" )
make[3]: Leaving directory `/opt/software/portcullis/deps/ranger-0.3.8'
make[2]: Leaving directory `/opt/software/portcullis/deps/ranger-0.3.8'
Making all in lib
make[2]: Entering directory `/opt/software/portcullis/lib'
make[2]: *** No rule to make target `../deps/boost/build/lib/libboost_timer.a', needed by `libportcullis.la'.  Stop.
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/opt/software/portcullis/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/software/portcullis'
make: *** [all] Error 2
ABORT: Aborting with RETVAL=255

Do you have any idea of what might be going on?

maplesond commented 6 years ago

Hi Luca, This recipe won't work for the last few versions of portcullis. Follow the instructions in the travis file instead, or the README.md file.

lucventurini commented 6 years ago

Thanks @maplesond , it now functions. I think it might have had to do with the fact that CentOS7 is still stuck in 2013 and was using gcc-4.8. I managed to install gcc7 and solve it.

Cheers