Hi,

I try to build GHDL with LLVM 3.5 on Ubuntu 14.04.2 LTS.

I have interesting linker errors like:

/usr/lib/llvm-3.5/lib/libLLVMSupport.a(Errno.o): In function
`llvm::sys::StrError(int)':
(.text._ZN4llvm3sys8StrErrorEi+0x59): undefined reference to
`std::string::assign(char const*, unsigned long)'

Seems like the LLVM lib cannot link the Standard C++ lib.
The missed symbol even doesn't exist in libc++, although there is a similar
one:

$ objdump -TC /usr/lib/x86_64-linux-gnu/libc++.so.1.0|grep -F 'assign(char
const*, unsigned long)'
00000000000bbf9e  w   DF .text 00000000000000a2  Base
 std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::assign(char const*, unsigned long)

In the header */usr/include/c++/v1/string* the string type is typedef-ed
from basic_string:
typedef basic_string<char>    string;

I guess it is an Ubuntu packaging issue, the LLVM libs were compiled with a
Standard C++ implementation which differs from the libc++ Ubuntu package.


I have the following packages installed:
llvm-3.5
llvm-3.5-dev
llvm-3.5-runtime
libc++-dev
libc++-helpers
libc++1

Has anyone met with similar issue? Is there a known workaround?

Thanks,
Endre
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to