forked from marbl/Mash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL.txt
75 lines (64 loc) · 2.87 KB
/
INSTALL.txt
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
Mash is normally distributed as a dependency-free binary for Linux or OSX (see
https://github.com/marbl/Mash/releases). This source distribution is intended
for other operating systems or for development. Mash requires c++11 to build,
which is available in and GCC >= 4.8 and OSX >= 10.7.
See http://mash.readthedocs.org for more information.
Dependencies:
-------------
- Autoconf ( http://www.gnu.org/software/autoconf/ )
- Cap'n Proto ( https://capnproto.org/ )
- either...
GNU Scientific Library ( http://www.gnu.org/software/gsl/ )
or..
Boost Library ( http://www.boost.org ) (see "-with-boost" below)
- Zlib ( included with OS X and most Linuxes, http://www.zlib.net ) *
Steps:
------
./bootstrap.sh
./configure [--prefix=...] [--with-capnp=...] [--with-gsl=...] \
[--with-boost=...]
make
[sudo] make install
[make test]
Products:
---------
- command line tool ( <prefix>/bin/mash )
- static library ( <prefix>/lib/libmash.a )
- includes ( <prefix>/include/mash/ )
Deployment:
-----------
OSX
Mash can be built on any OSX version starting with 10.7 (XCode command line
tools >= 4.6), and the binary should work across the same range of versions,
regardless of the particular version it was built with.
Linux
Mash must be built with at least GCC 4.8 due to its c++11 dependency. However,
the resulting binary can run on Linux with older GCC libraries if libstdc++ is
linked statically. To do this, ensure that you have a statically built library
(libstdc++.a) and add "-static-libstdc++" to $CPPFLAGS before running "make".
You may also need to use "-L <dir>"in $CPPFLAGS to tell GCC where to find
libstdc++.a. GSL can be statically linked to avoid a runtime dependency (see
configure options below).
Configure options:
------------------
--prefix=</path/to/install>
Installs binaries to bin/ and libraries to lib/ within this path. The default
is /usr/local/, which will typically require sudo for make install. Must be
absolute path.
--with-capnp=</path/to/capnp/>
Where to find the Cap'n Proto install if not in the default location
(/usr/local). Must be absolute path and should not include bin/ or lib/
paths and should not include "bin" or "lib".
--with-gsl=</path/to/gsl/>
Where to find the GNU Scientific library install if not in the default
location (/usr/local). Must be absolute path and should not include bin/ or
lib/.
--enable-static-gsl
Statically link the GNU Scientific library instead of dynamically. Be mindful
of licensure if distributing.
--with-boost=</path/to/boost/>
Use Boost from this location, instead of GSL. Must be absolute path and should
not include bin/ or lib/. Will be statically linked. Be mindful of licensure
if distributing.
* If Zlib is not installed in a standard system location (it usually is),
CXXFLAGS and LDFLAGS will have to be modified before making.