Hi,

I could compile ghdl with llvm backend on Fedora 20. Fedora 20 has no
libc++.so file, so I made a libc++.so symlink pointing to libstdc++.so, it
worked.
Could it be that on some distributions, the right linker flag is -lstdc++
instead of -lc++?

Endre


On Mon, Mar 2, 2015 at 12:17 PM, Endre Bak <[email protected]> wrote:

> Hi,
>
> I didn't find anything useful with google search. I opened a bug for
> Ubuntu.
>
> Endre
>
> On Mon, Mar 2, 2015 at 7:52 AM, Tristan Gingold <[email protected]> wrote:
>
>> On 01/03/15 17:07, Endre Bak wrote:
>>
>>> 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 .text00000000000000a2  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.
>>>
>>
>> Indeed.  Did you search the web for that issue ?
>>
>> Tristan.
>>
>>
>> _______________________________________________
>> Ghdl-discuss mailing list
>> [email protected]
>> https://mail.gna.org/listinfo/ghdl-discuss
>>
>
>
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to