4.6.0: undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15 when dlclose C++ libs from C program

Ryan Hill dirtyepic@gentoo.org
Sat Jul 9 06:56:00 GMT 2011


On Fri, 08 Jul 2011 21:58:34 -0700
Ian Lance Taylor <iant@google.com> wrote:

> Ryan Hill <dirtyepic@gentoo.org> writes:
> 
> > Beginning in GCC 4.6.0 we started seeing various package failures at runtime
> > with the message:
> >
> > symbol lookup error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6:
> > undefined symbol: _ZNSt14error_categoryD2Ev, version GLIBCXX_3.4.15
> 
> What is the output of
> 
> readelf -sr --wide /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++.so.6 | grep _ZNSt14error_categoryD2Ev

0000003786cf3a38  00000a2b00000007 R_X86_64_JUMP_SLOT     0000003786a729a0 _ZNSt14error_categoryD2Ev + 0
  2603: 0000003786a729a0    15 FUNC    GLOBAL DEFAULT   12 _ZNSt14error_categoryD2Ev@@GLIBCXX_3.4.15


> This does not happen with current gcc mainline on my Ubuntu system.

I don't have a copy of mainline installed, but I do see the error with 4.6
branch HEAD.  I know at least Debian and Arch have the same problem.

Playing around with the testcase it looks like it works if a C++ module is
the first to be dlclosed, regardless of the number or order of C/C++
modules unloaded afterwards, and likewise fails if a C module is closed first.


-- 
fonts, gcc-porting,                  it makes no sense how it makes no sense
toolchain, wxwidgets                           but i'll take it free anytime
@ gentoo.org                EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20110709/ae977c1d/attachment.sig>


More information about the Gcc-help mailing list