[klee-dev] make: error: Unable to link with functions of libllvm

Marek Chalupa mchqwerty at gmail.com
Fri Nov 13 21:31:17 GMT 2015


Hi,

it looks like new ABI problem. LLVM is probably linked against the old C++
STL ABI and now you compile with new ABI (haven't you upgraded gcc to
5.1?). Check
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html

Cheers,
Marek

On Tue, Nov 3, 2015 at 7:15 PM, Ren Kimura <rkx1209dev at gmail.com> wrote:

> Hi
> I'm trying to build klee but when running make, many link errors occurred.
>
> $ ./configure
> $ sudo make VERBOSE=1
> ...
>
> llvm[2]: Linking Release+Asserts executable klee (without symbols)
> g++ -I/home/rkx/klee/include -I/home/rkx/klee/tools/klee
> -I/usr/lib/llvm-3.4/build/include  -D_DEBUG -D_GNU_SOURCE
> -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -g -O2 -fomit-frame-pointer
> -fno-exceptions -fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual
> -DKLEE_DIR=\"/home/rkx/klee\" -DKLEE_INSTALL_BIN_DIR=\"/usr/local/bin\"
> -DKLEE_INSTALL_RUNTIME_DIR=\"/usr/local/lib/klee/runtime\" -DEXT_HASH_MAP
> -g -O2 -g -Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
> -Werror=format-security -g -Wl,-Bsymbolic-functions -Wl,-z,relro
> -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings  -g
> -O2 -Wl,-R -Wl,'$ORIGIN/../lib' -Wl,-R
> -Wl,/home/rkx/klee/Release+Asserts/bin -rdynamic
> -L/home/rkx/klee/Release+Asserts/lib -L/usr/lib/llvm-3.4/build/Release/lib
> -o /home/rkx/klee/Release+Asserts/bin/klee
> /home/rkx/klee/tools/klee/Release+Asserts/Debug.o
> /home/rkx/klee/tools/klee/Release+Asserts/main.o -lkleeCore -lkleeBasic
> -lkleeModule -lkleaverSolver -lkleaverExpr -lkleeSupport \
> -lLLVM-3.4.2   -lpthread -lffi -ltinfo -ldl -lm  -lstp -lminisat
> /home/rkx/klee/tools/klee/Release+Asserts/main.o: In function
> `KleeHandler::openOutputFile(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)':
> /home/rkx/klee/tools/klee/main.cpp:382: undefined reference to
> `llvm::raw_fd_ostream::raw_fd_ostream(char const*,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >&, llvm::sys::fs::OpenFlags)'
>
> ...
> (and many similar errors)
> ...
>
> I've checked that libLLVM-3.4.2.so exports above functions correctly by
> nm command.
>
> Why this happen?
> Thanks.
>
>
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
>
>
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the klee-dev mailing list