-
Notifications
You must be signed in to change notification settings - Fork 5
/
INSTALL
87 lines (60 loc) · 3.58 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
h1. Git Installation
To compile phyldog, you need:
* MPI libraries (e.g. OpenMPI, make sure you compile with C++ bindings using ./configure --enable-mpi-cxx )
* Boost libraries, with headers (devel packages / installation from sources), with enabled MPI (tested with boost from 1.49 to 1.58);
* Bio++, 2.2.0 version;
* PLL (Phylogenetic Likelihood Library) version 1.0.2 -- http://www.libpll.org/
* Phyldog, git version (read below).
WARNING: Make sure you use the same compiler and same compiler version to compile all dependencies and Phyldog, otherwise linking problems can occur.
h2. Boost
We advise you to install boost devel packages with your package manager. If you cannot, use this procedure :
* download boost, a version between 1.55 and 1.63 (included): https://sourceforge.net/projects/boost/files/boost/
* unarchive it
* install it :
<pre>
cd boost_directory
./bootstrap.sh --prefix=$HOME/MyLibs/boost --with-libraries=mpi,serialization
./b2
./b2 install
</pre>
h2. Bio++ 2.2.0
We are currently using Bio++ pre 2.2.0. This library can be found here:
http://biopp.univ-montp2.fr/wiki/index.php/Installation
Anyway, we suggest to use precompiled package version if available for your linux distro.
h2. PLL 1.0.2
PLL can be found here:
http://www.libpll.org/
We suggest to install SSE3 version. This CPU vectorization instruction set is widely available on quite recent machines.
h2. Phyldog
h3. Fetching the repository for the first time
The phyldog repository is available at @https://github.com/Boussau/PHYLDOG@
Fetch it:
<pre>
git clone https://github.com/Boussau/PHYLDOG
</pre>
h3. Compiling
create a build directory at the project root, and launch the compilation process in it:
<pre>
mkdir build && cd build
cmake ..
make
</pre>
You should get a @phyldog@ binary file you can now test! It is located into the @build/bin@ directory.
If you want to create a static executable that you compile on a machine and then can use on another machine that runs a similar system but in which the libraries have not been installed, you can create a static executable as follows:
<pre>
mkdir build && cd build
cmake -DBUILD_STATIC=ON ..
make
</pre>
If you want to install it so that all users on your system can use it, just run @make install@. Do not forget to get superuser rights to be able to install the program into system directories (@sudo make install@ for instance).
If you want to get an executable with a smaller size, you can use the "strip" command in Unix-based systems. It can reduce the size from 100Mb to 8 Mb.
h4. Help with CMake parameters
If you have installed Bio++, PLL and/or boost in a non standard directory (eg: in your home directory if you do not have admin powers), you have to tell it to cmake, adding some/all of these parameters after the @cmake ..@ command:
<pre>
-DCMAKE_LIBRARY_PATH="/home/me/MyLibs/Bpp/lib;/mnt/special/otherlibs/libpll" (these directories must contain libbpp-phyl.so and libpll-sse3.a — .dylib for MacOS)
-DCMAKE_INCLUDE_PATH="/home/me/MyLibs/Bpp/include;/mnt/special/otherlibs/libpll" (these directories must contain Bpp/Phyl/Node.h and pll/pll.h)
-DBOOST_LIBRARYDIR=/home/me/MyLibs/boost/lib (must contain libboost_mpi.so and libboost_serialization.so — .dylib for MacOS)
-DBOOST_ROOT=/home/me/MyLibs/boost (must contain include/boost/mpi.hpp)
</pre>
Eg: @cmake .. -DBOOST_LIBRARYDIR="/home/me/MyLibs/boost/lib;/mnt/special/otherlibs/libpll" -DBOOST_ROOT=/home/me/MyLibs/boost@
*Note:* if you have several non-system libs to include in the paths, please quote them (double quotes) and separate them accordingly to your system (eg: Unix/Linux is semicolon “;” character).