[Llvm-bgq-discuss] Linker error: undefined reference to `vtable for std::nested_exception'

Michael Schlottke m.schlottke at fz-juelich.de
Fri Jul 18 03:23:59 CDT 2014


Hi Hal,

Thanks for checking this out. I installed the last RPMs that we knew
worked before the toolchain upgrade (r201012-20140207), but to no avail.
When trying to compile the same MWE program, we get a compiler
(preprocessor?) error instead, but again it seems to be centered around
exceptions (I've attached the log). Maybe this sheds some more light on
the issues we're having.

Regards,

Michael

P.S.: As before, the error occurs only when using bgclang++11 or when
manually adding -stdlib=libc++ to bgclang++. Otherwise it compiles &
runs just fine.

On 17.07.2014 19:21, Hal Finkel wrote:
> Hi,
>
> This error almost always occurs when you pick up the old libstdc++ library instead of the one from the 4.7.2 toolchain. I'll look at your verbose logs later.
>
>   -Hal
>
> ----- Original Message -----
>> From: "Sandipan Mohanty" <s.mohanty at fz-juelich.de>
>> To: llvm-bgq-discuss at lists.alcf.anl.gov
>> Sent: Thursday, July 17, 2014 11:53:07 AM
>> Subject: Re: [Llvm-bgq-discuss] Linker error: undefined reference to `vtable for std::nested_exception'
>>
>> Hi!
>>
>>      The linker error Michael mentioned also appears for a simple
>>      hello world
>> program:
>>
>> #include <iostream>
>>
>> int main()
>> {
>>      std::cout << "Hello, World!\n";
>> }
>>
>> Compiling it with bgclang++ is fine. Compiling with bgclang++11,
>> which also
>> links with libc++, produces the linker error he mentioned about
>> nested_exception. The nested_exception class members are defined
>> inside the
>> exception.cpp file in the libc++ source. But there are lots of macros
>> influencing what sections get compiled. Is the libc++ in the RPM
>> compiled with
>> libsupc++, libcxxrt or libcxxabi as the LIBCXX_CXX_ABI ?
>>
>> /Sandipan
>>
>>
>>
>> On Thursday 17 Jul 2014 11:30:35 Rob Latham wrote:
>>> See http://www.alcf.anl.gov/user-guides/bgclang-compiler#faq, which
>>> I
>>> myself was just staring at last night:
>>>
>>> Linking code compiled with bgclang++ together with code compiled
>>> with
>>> bgclang++11 does not work, why?
>>>
>>> Code compiled using bgclang++ uses the same libstdc++ standard
>>> template
>>> library (STL) implementation as the system-default GNU
>>> powerpc64-bgq-linux-g++ compiler. This provides compatibility with
>>> C++
>>> libraries, including some system libraries, compiled with the GNU
>>> toolchain. This STL implementation, however, cannot provide a
>>> conforming
>>> C++11 programming environment, and so bgclang++11 uses an
>>> up-to-date STL
>>> implementation derived from LLVM's libc++. Unfortunately, this STL
>>> implementation is incompatible with libstdc++, and so linking
>>> errors
>>> will result for functions that use STL objects as part of their
>>> signatures (i.e. parameter or return types).
>>>
>>> ==rob
>>>
>>> On 07/17/2014 08:48 AM, Michael Schlottke wrote:
>>>> Hi Hal,
>>>>
>>>> We tried to install the new version of clang on the BG/Q @ FZ
>>>> Juelich
>>>> from your rpms, which worked like a breeze (thanks again for your
>>>> effors!). However, with the new installation we are not able to
>>>> link
>>>> even simple problems against libcxx, as all attempts end with the
>>>> following error:
>>>>
>>>> /bgsys/local/clang/r209570-20140527/libc++/lib/libc++.a(exception.cpp.o):(
>>>> .toc+0x0): undefined reference to `vtable for
>>>> std::nested_exception'
>>>> clang: error: linker command failed with exit code 1 (use -v to
>>>> see
>>>> invocation)
>>>>
>>>> It happens as soon as we try to compile & link a dummy program
>>>> that has
>>>> at least one std library include file. If we use bgclang++, the
>>>> error
>>>> does not occur, but it does when using either -stdlib=libc++ or
>>>> bgclang++11.
>>>>
>>>> Do you have any idea what the source of the problem could be? I
>>>> attached
>>>> a MWE and the output of running bgclang++11 with -v.
>>>>
>>>> Regards,
>>>>
>>>> Michael
>>>>
>>>> P.S.: We had a driver/toolchain upgrade on JUQUEEN and thus our
>>>> old
>>>> clang installations are not working anymore. Maybe this could be
>>>> related
>>>> to the problem?
>>>>
>>>>
>>>> --------------------------------------------------------------------------
>>>> ----------------------
>>>> -------------------------------------------------------------------------
>>>> ----------------------- Forschungszentrum Juelich GmbH
>>>> 52425 Juelich
>>>> Sitz der Gesellschaft: Juelich
>>>> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B
>>>> 3498
>>>> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
>>>> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt
>>>> (Vorsitzender),
>>>> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald
>>>> Bolt,
>>>> Prof. Dr. Sebastian M. Schmidt
>>>> --------------------------------------------------------------------------
>>>> ----------------------
>>>> -------------------------------------------------------------------------
>>>> -----------------------
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-bgq-discuss mailing list
>>>> llvm-bgq-discuss at lists.alcf.anl.gov
>>>> https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
>> _______________________________________________
>> llvm-bgq-discuss mailing list
>> llvm-bgq-discuss at lists.alcf.anl.gov
>> https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
>>



------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: errors-r201012-20140207.log
Type: text/x-log
Size: 3695 bytes
Desc: not available
URL: <http://lists.alcf.anl.gov/pipermail/llvm-bgq-discuss/attachments/20140718/74651c7f/attachment.bin>


More information about the llvm-bgq-discuss mailing list