Saturday, August 24, 2019

Re: mixing clang C++ and GNU C++ ?

On 2019-08-23, j@bitminer.ca <j@bitminer.ca> wrote:
> I'm trying some boost library examples, on amd64, using -current. When
> building with clang it works ok, but using eg++ results in load-time
> failure:
>
>
> snaptest66$ timlibs="-I/usr/local/include -L/usr/local/lib
> -lboost_timer"
>
> snaptest66$ ec++ -o tcs.fastgx $timlibs -Ofast timed_chaotic_system.cpp
> snaptest66$ ./tcs.fastgx
> tcs.fastgx:/usr/local/lib/libestdc++.so.19.0: /usr/lib/libc++abi.so.1.0
>: WARNING: symbol(_ZTVN10__cxxabiv129__pointer_to_member_type_infoE)
> size mismatch, relink your program
> tcs.fastgx:/usr/local/lib/libestdc++.so.19.0: /usr/lib/libc++abi.so.1.0
>: WARNING: symbol(_ZTVN10__cxxabiv117__pbase_type_infoE) size mismatch,
> relink your program
> ...etc....about a dozen similar symbols....
> Segmentation fault (core dumped)

Things will go badly (many conflicting symbols) if you pull in both
libc++ and libestdc++ to the same address space. You will need to
rebuild boost (and any other C++ libraries involved) with gcc if
you want to do this.

No comments:

Post a Comment