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

Sandipan Mohanty s.mohanty at fz-juelich.de
Fri Jul 18 17:29:40 CDT 2014


Hi Hal, Michael and Roy,
    I changed the variable VLIBSTDCXX from 4.4.6 to 4.4.7 in the bgclang
wrapper in Jülich. Unfortunately, the error persists.

/Sandipan


On Friday 18 Jul 2014 17:06:28 Hal Finkel wrote:
> Roy,
>
> Ah, that certainly explains things.
>
> Michael, if you edit the variables at the top of the bgclang wrapper script,
> you'll make things work again.
>
> I need to put together a new release soon anyway (upstream 3.5 is almost
> out...)
>
>  -Hal
>
> ----- Original Message -----
>
> > From: "Roy Musselman" <roymuss at us.ibm.com>
> > To: "Hal Finkel" <hfinkel at anl.gov>
> > Cc: llvm-bgq-discuss at lists.alcf.anl.gov,
> > llvm-bgq-discuss-bounces at lists.alcf.anl.gov, "Michael Schlottke"
> > <m.schlottke at fz-juelich.de>
> > Sent: Friday, July 18, 2014 5:02:57 PM
> > Subject: Re: [Llvm-bgq-discuss] Linker error: undefined reference to
> > `vtable for std::nested_exception'
> >
> >
> >
> > Hi Hal & Michael,
> >
> > We installed V1R2M2 here at LLNL. Note that the subdirectory is 4.4.7
> > for V1R2M2, not 4.4.6 as it was for V1R2M1.
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Roy Musselman
> > HPC Application Analyst at LLNL
> > email: roymuss at us.ibm.com
> > Cell: 507-358-8895, Home: 507-281-9565
> >
> > Inactive hide details for Hal Finkel ---07/18/2014 12:20:12
> > PM---Michael, The relevant parts of the log are:Hal Finkel
> > ---07/18/2014 12:20:12 PM---Michael, The relevant parts of the log
> > are:
> >
> > From: Hal Finkel <hfinkel at anl.gov>
> > To: Michael Schlottke <m.schlottke at fz-juelich.de>
> > Cc: llvm-bgq-discuss at lists.alcf.anl.gov
> > Date: 07/18/2014 12:20 PM
> > Subject: Re: [Llvm-bgq-discuss] Linker error: undefined reference to
> > `vtable for std::nested_exception'
> > Sent by: llvm-bgq-discuss-bounces at lists.alcf.anl.gov
> >
> >
> >
> >
> > Michael,
> >
> > The relevant parts of the log are:
> >
> > ignoring nonexistent directory
> > "/bgsys/drivers/V1R2M2/ppc64/gnu-linux/powerpc64-bgq-linux/include/c++/4.4
> > .6"
> >
> > ignoring nonexistent directory
> > "/bgsys/drivers/V1R2M2/ppc64/gnu-linux/powerpc64-bgq-linux/include/c++/4.4
> > .6/powerpc64-bgq-linux"
> >
> > Where did these files go on your system?
> >
> > -Hal
> >
> > ----- Original Message -----
> >
> > > From: "Michael Schlottke" <m.schlottke at fz-juelich.de>
> > > To: llvm-bgq-discuss at lists.alcf.anl.gov, hfinkel at anl.gov
> > > Sent: Friday, July 18, 2014 3:23:59 AM
> > > Subject: Re: [Llvm-bgq-discuss] Linker error: undefined reference
> > > to `vtable for std::nested_exception'
> > >
> > > 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.c
> > > >>>> pp.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
> > > ------------------------------------------------------------------------
> > > ------------------------
> > > -----------------------------------------------------------------------
> > > ------------------------->
> > --
> > Hal Finkel
> > Assistant Computational Scientist
> > Leadership Computing Facility
> > Argonne National Laboratory
> > _______________________________________________
> > 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: error2.log
Type: text/x-log
Size: 4873 bytes
Desc: not available
URL: <http://lists.alcf.anl.gov/pipermail/llvm-bgq-discuss/attachments/20140719/8c24830a/attachment.bin>


More information about the llvm-bgq-discuss mailing list