summaryrefslogtreecommitdiff
path: root/examples/dragmap/README.md
blob: 29ba382ba6a737a9d8116d4b4d9020cdb0f5ef6f (plain)
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
# README

Trying to build [DRAGMAP](https://github.com/Illumina/DRAGMAP) using updated
[Boost libraries](https://www.boost.org/). But the building process seems to be
using the outdated system Boost libraries in `/usr/include/boost/`. This is because I keep getting these errors:

    /usr/include/boost/program_options/detail/value_semantic.hpp:170: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)'

Here I examine the behaviour of the following environment variables:

* `BOOST_ROOT`
* `BOOST_INCLUDEDIR`
* `BOOST_LIBRARYDIR`

The required Boost libraries are:

    BOOST_LIBRARIES := system filesystem date_time thread iostreams regex program_options

They reside in `/usr/include/boost169/boost/`; for example:

    /usr/include/boost169/boost/system
    /usr/include/boost169/boost/filesystem

Use `./run.sh` to run all the test scripts.

## Notes

* The `CPPFLAGS` macro is the one to use to specify `#include` directories.
* The `LDFLAGS` is normally set to contain options that are passed through to
  the linker (so may include required libraries).

[Probably the same
problem](https://stackoverflow.com/questions/62280304/yum-using-boost-1-69-instead-of-default-1-53-version-on-centos)
but I do not want to manually manipulate the symlinks by changing:

    /lib64/libboost_system.so -> libboost_system.so.1.53.0

to:

    /lib64/libboost_system.so -> libboost_system.so.1.69.0

## Fix

Do not include `boost` in the DIR. For example:

    export BOOST_INCLUDEDIR=/usr/include/boost169
    export BOOST_LIBRARYDIR=/usr/lib64/boost169