Multiple Definition of "_Unwind_Resume"

Hoyt, David hoyt6 at llnl.gov
Mon Aug 24 20:27:57 CEST 2009


Well I got through it by configuring it w/ the C++ portion disabled since I didn't really need it.

I tried changing the order of the libraries being linked, using the static dw2 lib instead of the shared one, etc., but it didn't work. But I suppose it's good enough for now. Thanks anyway!

-----Original Message-----
From: Simon Josefsson [mailto:simon at josefsson.org] 
Sent: Sunday, August 23, 2009 8:26 AM
To: Hoyt, David
Cc: help-gnutls at gnu.org
Subject: Re: Multiple Definition of "_Unwind_Resume"

"Hoyt, David" <hoyt6 at llnl.gov> writes:

> I'm using mingw gcc 4.4.0 w/ dw2 exception handling on a windows xp machine. I'm using the latest source (I think - v2.8.3). When compiling, I get a multiple definition error for "_Unwind_Resume." The shared libraries (dlls) compile fine, but it errors out when attempting to link a test C++ program. I didn't used to get any errors like this, but I was using a slightly older version of gcc and it was using SJLJ exception handling. Here's the output:
>
> libtool: link: g++ -g -O2 -Wl,--exclude-libs=libintl.a -o .libs/ex-cxx.exe ex-cxx.o  ./.libs/libexamples.a ../../lib/.libs/libgnutls.dll.a ../../libextra/.libs/libgnutls-extra.dll.a ../../gl/.libs/libgnu.a ../../lib/.libs/libgnutlsxx.dll.a /C/Build/Windows/Win32/Release/obj/gnutls/lib/.libs/libgnutls.dll.a -lz /C/Build/Windows/Win32/Release/lib/libgcrypt.dll.a /C/Build/Windows/Win32/Release/lib/libgpg-error.dll.a -lws2_32 -L/C/Build/Windows/Win32/Release/obj/gnutls/lib/.libs -L/C/Build/Windows/Win32/Release/obj/gnutls/libextra/.libs -L/C/Build/Windows/Win32/Release/lib -L/C/Build/Windows/Win32/Release/libc
> :/msys/mingw/bin/../lib/gcc/mingw32/4.4.0-dw2/libgcc_eh.a(unwind-dw2.o): In function `Unwind_Resume':
> d:\crossdev\b4.4.0-tdm-1\mingw32\libgcc/../../../gcc-4.4.0/libgcc/../gcc/unwind.inc:220: multiple definition of `_Unwind_Resume'
> ../../lib/.libs/libgnutlsxx.dll.a(d000015.o):(.text+0x0): first defined here
> collect2: ld returned 1 exit status
> make[4]: *** [ex-cxx.exe] Error 1
>
> If there's a way to avoid compiling and running this particular test, that wouldn't be ideal, but it would be "okay" enough for now.
>
> I appreciate any help anyone can offer.

I am sorry I have no idea how to resolve this.  I suspect it is not a
strictly GnuTLS-related problem, so you may get more help asking some
mingw/gcc/c++ forum instead.  It could be a bug in how the libgnutlsxx
library is built.

/Simon





More information about the Gnutls-help mailing list