After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 631293 - Symbol collision when compiled with the clang compiler.
Symbol collision when compiled with the clang compiler.
Status: RESOLVED FIXED
Product: libxml2
Classification: Platform
Component: general
git master
Other FreeBSD
: Normal normal
: ---
Assigned To: Daniel Veillard
libxml QA maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-04 08:33 UTC by Koop Mast (kwm)
Modified: 2010-11-03 15:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't redefine vsnprintf if it is available. (393 bytes, patch)
2010-10-04 08:34 UTC, Koop Mast (kwm)
none Details | Review

Description Koop Mast (kwm) 2010-10-04 08:33:46 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.
Comment 1 Koop Mast (kwm) 2010-10-04 08:34:59 UTC
Created attachment 171674 [details] [review]
Don't redefine vsnprintf if it is available.
Comment 2 Daniel Veillard 2010-11-03 15:12:13 UTC
Okay, small patch, makes sense, applied and pushed

  thanks !

Daniel