GNOME Bugzilla – Bug 631293
Symbol collision when compiled with the clang compiler.
Last modified: 2010-11-03 15:12:13 UTC
This is with libxml 2.7.7. Configure got a test for several *printf functions. While testing with the clang compiler, the configure test for fprintf fails. This seems to be a clang bug. However due to this failure WITH_TRIO=1 gets defined. This causes problems for the following code in python/libxml.c: #if (defined(_MSC_VER) || defined(__MINGW32__)) && !defined(vsnprintf) #define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a) #elif defined(WITH_TRIO) #include "trio.h" #define vsnprintf trio_vsnprintf #endif The first if gets skipped because vsnprintf is defined, the second gets accepted and redefines vsnprintf. Which is available on FreeBSD, and leads to a symbol collision.
Created attachment 171674 [details] [review] Don't redefine vsnprintf if it is available.
Okay, small patch, makes sense, applied and pushed thanks ! Daniel