Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build fails: undefined reference boost::program_options #5

Open
ptrebert opened this issue Jan 29, 2019 · 0 comments
Open

build fails: undefined reference boost::program_options #5

ptrebert opened this issue Jan 29, 2019 · 0 comments

Comments

@ptrebert
Copy link
Member

Hi,
following build env:
Debian 9 "Stretch" running Kernel 4.9.91
ldd --version: (Debian GLIBC 2.24-11+deb9u3) 2.24
Followed setup/build instruction as given in git readme

Situation 1:
Existing Conda environment with htslib=1.9 as dependency for other tools; additionally, installed boost=1.67.0 and cmake=3.12.2 into environment to build Mosaicatcher. Minor issue/suggestion for doc update: needed to run cmake -DBOOST_INCLUDEDIR=/PATH/TO/conda/envs/ENVNAME/include ../src/ for a successful configure. Subsequent make failed with something like /build/htslib/lib/libhts.so: undefined reference "memcpy@GLIBC_2.14" - I realized that despite the existing htslib in the environment, the setup routine downloads htslib nevertheless. No idea about the internals, of course, but I suspected this to be the source of the problem; leads to...

Situation 2:
New Conda environment containing boost=1.67.0, cmake=3.12.2 and make=4.2.1, nothing else. Cmake as above succeeds, subsequent make now seems to get past the htslib issue, but fails with this:

[ 90%] Linking CXX executable mosaic
[...tons of output...]
CMakeFiles/mosaic.dir/main.cpp.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30):
undefined reference to
`boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'

collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/mosaic.dir/build.make:90: mosaic] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/mosaic.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Any advice?

Best,
Peter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant