ssolo / ALE

Amalgamated likelihood estimation (ALE) is a probabilistic approach to exhaustively explore all reconciled gene trees that can be amalgamated as a combination of clades observed in a sample of gene trees. We implement the ALE approach in the context of a reconciliation model (cf. http://arxiv.org/abs/1211.4606 ), which allows for the duplication, transfer and loss of genes. We use ALE to efficiently approximate the sum of the joint likelihood over amalgamations and to find the reconciled gene tree that maximizes the joint likelihood among all such trees.
44 stars 15 forks source link

Install Error: no matching function for call to bpp::Parameter::Parameter() #28

Closed flass closed 2 years ago

flass commented 2 years ago

Hi Gergely & co.,

I've got his error when trying to compile ALE in an Ubuntu Bionic environment; see below.

/home/ubuntu/software/ALE/src/ALEml.cpp: In constructor ‘p_fun::p_fun(exODT_model*, approx_posterior*, double, double, double, bool, bool, bool)’:
/home/ubuntu/software/ALE/src/ALEml.cpp:39:65: error: no matching function for call to ‘bpp::Parameter::Parameter(const char [6], double&, std::shared_ptr<bpp::IntervalConstraint>&)’
    addParameter_( new Parameter("delta", delta_start, constraint) ) ;

I first had this issue when trying to build this Docker image: https://github.com/flass/pantagruel/blob/master/Dockerfile.

I could replicate it on a VM with Ubuntu Bionic OS on the VM, uname -a gives:

Linux vibriocloud 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

I've installed this minimal set of debian packages to support the ALE dependencies:

sudo apt-get install -y --no-install-recommends libboost-dev libboost-serialization-dev libboost-mpi-dev  \
libbpp-core-dev libbpp-phyl-dev libbpp-seq-dev libbpp-seq-omics-dev

So I believe this makes the Bpp libs to be of the 2.4.0 version (see https://packages.ubuntu.com/ko/bionic/libbpp-core-dev)

I'm not too sure what has changed since last I compiled ALE successfully in this same environment.

Can you advise on a fix?

thanks in advance.

Best regards,

Florent bug_installation_ALE_bionic.txt

drenal commented 2 years ago

Hi Florent, we have changed the code in September last year to support the new (unreleased) Bio++ library , so I suspect this is causing the issue with the old Bio++ library.

Could you please check if you can compile ALE without these changes (the commit before the (currently) last commit)?

cd ALE
git checkout 168274f71ac819047e9cc446fc3608ae32789e27
# and then do a fresh cmake compile

Best, Lenard

flass commented 2 years ago

Hi Lenard,

yes it builds correctly under this version. I've frozen this ALE version in my Dockerfile now.

thanks a lot!

Florent