cURL / Mailing Lists / curl-library / Single Mail


Why there is undefined symbol __cxa_begin_cleanup in

From: mao xu <>
Date: Wed, 6 Jun 2012 19:09:49 +0800 (CST)

I'm cross-compiling libcurl with ARM toolchain provided by android NDK r8. My output has an undefined symbo __cxa_begin_cleanup. Use command "readelf -s" can find it :
168: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_begin_cleanup
When creating my executable with and some other libraries, a link error reported:
hidden symbol __cxa_begin_cleanup in libstdc++ is referenced by DSO.
This symbol in is a hidden symbol , so linker can not resolve the undefined symbol in .
I check other share libraries. Some of them contain this symbol also, but it's not undefined symbol in those libraries. They seems copy that symbol's implementation to themselves from libstdc++, while libcurl does not copy.
My command to produce is :
arm-linux-androideabi-gcc -shared  .libs/file.o (and other .o files)   -L/opt/android-ndk-r8-standalone/arm-linux-androideabi/libs/armeabi-v7a -L/opt/android-ndk-r8-standalone/sysroot/usr/lib -lz -mandroid -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb   -Wl,-soname -Wl, -o .libs/
I'v tried adding "-nostdlib -lgcc" to the command, but produce same result.
Could anybody help me to resolve this issue. It has blocked me for many days.
Thanks in advance.

List admin:
Received on 2012-06-06