BioPP / bppsuite

Bio++ Program Suite
15 stars 13 forks source link

comprehensive way to build bppsuite-3.0 tagged version ? #23

Open EricDeveaud opened 2 weeks ago

EricDeveaud commented 2 weeks ago

Hello,

would it be possible to have a comprehensive documentation in order to build tagged version 3.0 of bppsuite ?

which components // version // commit of bpp-core, bpp-seq, bpp-phyl, bpp-popgen to use ?

curently bulding bppsuite vs bpp-core, bpp-seq, bpp-phyl, bpp-popgen head breaks with

CMake Error at CMakeLists.txt:78 (find_package):
  By not providing "Findbpp-phyl.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "bpp-phyl",
  but CMake did not find one.

  Could not find a package configuration file provided by "bpp-phyl"
  (requested version 12.0.0) with any of the following names:

    bpp-phylConfig.cmake
    bpp-phyl-config.cmake

  Add the installation prefix of "bpp-phyl" to CMAKE_PREFIX_PATH or set
  "bpp-phyl_DIR" to a directory containing one of the above files.  If
  "bpp-phyl" provides a separate development package or SDK, be sure it has
  been installed.

as bbp libs (head) does not provides any bpp-*-config.cmake BUT bpp-*3-config.cmake

and building versus tagger 2.4.1 bpplib releases. lead to some missing includes.

  /opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppConsense.cpp:56:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   56 | #include <Bpp/Phyl/Tree/Tree.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppTreeDraw.cpp:55:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   55 | #include <Bpp/Phyl/Tree/Tree.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppML.cpp:58:10: fatal error: Bpp/Phyl/App/BppPhylogeneticsApplication.h: No such file or directory
   58 | #include <Bpp/Phyl/App/BppPhylogeneticsApplication.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppReRoot.cpp:56:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   56 | #include <Bpp/Phyl/Tree/Tree.h>
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppAncestor.cpp:57:10: fatal error: Bpp/Phyl/App/BppPhylogeneticsApplication.h: No such file or directory
   57 | #include <Bpp/Phyl/App/BppPhylogeneticsApplication.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppDist.cpp:67:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   67 | #include <Bpp/Phyl/Tree/Tree.h>
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppSeqGen.cpp:58:10: fatal error: Bpp/Phyl/App/BppPhylogeneticsApplication.h: No such file or directory
   58 | #include <Bpp/Phyl/App/BppPhylogeneticsApplication.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppPars.cpp:63:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   63 | #include <Bpp/Phyl/Tree/Tree.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppPopStats.cpp:64:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   64 | #include <Bpp/Phyl/Tree/Tree.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppSeqMan.cpp:66:10: fatal error: Bpp/Phyl/Tree/Tree.h: No such file or directory
   66 | #include <Bpp/Phyl/Tree/Tree.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppAlnScore.cpp:54:10: fatal error: Bpp/Seq/App/BppSequenceApplication.h: No such file or directory
   54 | #include <Bpp/Seq/App/BppSequenceApplication.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/gensoft/src/bppsuite/bppsuite-3.0.0/bppSuite/bppMixedLikelihoods.cpp:70:10: fatal error: Bpp/Phyl/App/BppPhylogeneticsApplication.h: No such file or directory
   70 | #include <Bpp/Phyl/App/BppPhylogeneticsApplication.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BppSequenceApplication.h appears only in bpp-seq head not in 2.4.1 tagged releaase Bpp/Phyl/Tree/Tree.h installed by bpp-phyl (head) whith this location while tagger 2.4.1 install it on Bpp/Phyl/Tree.h Bpp/Phyl/App/BppPhylogeneticsApplication.h is from bpp-phyl head and does not appear on 2.4.1

I must admit that I'm quite lost ;-(

regards

Eric

jydu commented 2 weeks ago

Dear Eric,

Version "3.0" (I use quotes because it is not yet officially released) corresponds to the master branches of all repository. So pulling from the head of all repositories should work without error. As it is under development, errors may occasionally happen, and we will fix them asap. I have just updated all libs on my machine and recompiled. I could compile bppsuite without issue. One typical pb is when several versions are installed on the same system. The output of CMake should show the right paths for the dependencies. The easiest way is to install all libs in on place (for instance $HOME/.local), and run cmake with -DCMAKE_INSTALL_PREFIX=$HOME/.local for all libs and progs. On a side note, I am currently configuring GitHub actions, so that all libs are checked when a commit is done. Hopefully, this should minimize the number of errors (like missing files, etc.).

Can you try to install one more time from the HEAD of the master branches, and send me the first error you get? (together with the cmake command run and its output).

Thanks a lot for your patience,

Julien.

jydu commented 2 weeks ago

Hello,

I had a closer look at this: it seems that you are not using the latest bppsuite source (master head), as the CMakeFile there contains find_package (bpp-phyl3 1.0.0 REQUIRED)...

Hope this helps,

Julien.

EricDeveaud commented 2 weeks ago

Hello, thanks for the feedback.

Version "3.0" (I use quotes because it is not yet officially released) but already tagged ;-)

yes the suite build using head of the variouses repos. I was expecting that version 3,0 tagged version of bppsuite had equivalents for the other required repos, or at least information of wich commits of the different repos to use.

I must say that this is confusing.

regards

Eric

jydu commented 2 weeks ago

I had forgotten that old tag, which was indeed a mistake. I now perfectly understand the confusion! I have now removed it. Tags should indeed be synchronized between libs. In addition, a new tag triggers Debian packaging, which, in that case, obviously failed :(