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

Undefined reference to `std::__throw_logic_error(char const*)' #10

Closed
rrlove opened this issue Jul 19, 2016 · 3 comments
Closed

Undefined reference to `std::__throw_logic_error(char const*)' #10

rrlove opened this issue Jul 19, 2016 · 3 comments

Comments

@rrlove
Copy link

rrlove commented Jul 19, 2016

Hi,

In trying to install the w2rap-contigger on a Red Hat cluster, I'm repeatedly getting an error during the make step, in "Linking CXX executable bin/04_patching." The initial error message is:

[ 92%] Building CXX object CMakeFiles/04_patching.dir/src/paths/long/large/Unsat.cc.o
Linking CXX executable bin/04_patching
CMakeFiles/01_unipaths.dir/src/modules/unipaths_01.cc.o: In function _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.isra.115': /afs/crc.nd.edu/x86_64_linux/g/gcc/5.2.0/build/include/c++/5.2.0/bits/basic_string.tcc:216: undefined reference to std::__throw_logic_error(char const*)'

Followed by about half a million other lines of undefined references and similar errors (too large to attach in its entirety, but I included the first 10% in case it's helpful
w2rap-contigger_compilation_error_output.snippet_1.txt
).

The cmake step completes without a problem:

cmake -D CMAKE_CXX_COMPILER=gcc -D MALLOC_LIBRARY=/afs/crc.nd.edu/user/r/rlove1/local/bin/jemalloc-4.2.1/lib/libjemalloc.so .
-- The C compiler identification is GNU 4.4.7
-- The CXX compiler identification is GNU 5.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /afs/crc.nd.edu/x86_64_linux/g/gcc/5.2.0/build/bin/gcc
-- Check for working CXX compiler: /afs/crc.nd.edu/x86_64_linux/g/gcc/5.2.0/build/bin/gcc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /afs/crc.nd.edu/user/r/rlove1/local/bin/w2rap-contigger

From the verbosity of the error messages, it seems like something very basic has gone missing or been delinked, but I'm not sure what it is.

This is with cmake 3.2.2 and gcc 5.2.0.

Thanks,
Becca

@bjclavijo
Copy link
Member

Hi Becca, you're defining gcc as your CXX c++ compiler, you should be using g++ for that. I think that will solve your problem, because basically you're getting a fault at linking all the c++ libraries.

Tell me if that solves your problem and i'll just close this issue then :D

Best,

bj

@rrlove
Copy link
Author

rrlove commented Jul 19, 2016

Short answer: yes, that solves it, thanks!

Long answer: I had tried that first and it didn't work, but I was using the wrong gcc. I didn't correctly understand you need to compile with g++ but use a certain gcc to get access to the right GCC-- can't imagine how I came to confuse those latter two...

Anyway, thanks!

@bjclavijo
Copy link
Member

Great, let us know how this works for you.
There will be an updated version soon too.

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

2 participants