retitle 521924 ATTRIBUTE_PRINTF symbol collision
clone 521924 -1 -2
reassign -1 libxml2
reassign -2 wx2.8-headers
thanks


Hi Daniel,

What makes you think this is a problem with glibc 2.9?

AFAICS right now this is most likely caused by something your code has
included before the wx headers, which already defined ATTRIBUTE_PRINTF.
See wx/defs.h around line 483 for why that would Go Badly.

So far as I can see the code there appears to have been gratuitously copied
from X11/Xfuncproto.h, with the only modification being to stupidly rip off
the leading namespacing from the macro name (or maybe from gcc internals
where it appears to be a private symbol).  Grepping my system doesn't find
any other header which defines ATTRIBUTE_PRINTF, so please have a look
through the code you are compiling (and perhaps its deps) to figure out who
is actually defining this.

Once we know that, we can know better who to frown upon.  My guess is you've
hit a combination of wx arrogantly polluting the global macro namespace and
someone else blindly cutting and pasting the same code and making the same
parochial mistake.


hmm, in fact a quick google later, it seems the latest culprit is already
known: https://bugzilla.redhat.com/show_bug.cgi?id=487073

So I'm cloning this to libxml2 and wx2.8 which is probably where this
should be most immediately fixed.  Since this is an exported symbol from
wx, we can't really just change it there without first ensuring no other
wx app is actually using it and taking other measures appropriate to an
api change of this sort.  Since 2.6 will probably vanish for squeeze,
that doesn't really seem worth the effort now for this version.

My advice would be fix libxml2 and subsequent versions of wx and cluebat
all the people responsible for such a fine example of myopic programming.

Sorry for the inconvenience.  In hindsight it seems hardly surprising,
but for the bit about how long it has taken anyone to bump into it.

Best,
Ron


On Mon, Mar 30, 2009 at 02:12:28PM -0700, Daniel Schepler wrote:
> Package: wx2.6-headers
> Version: 2.6.3.2.2-3
> Severity: serious
> Justification: causes FTBFS in other packages
> 
> From my pbuilder build log for freqtweak:
> 
> ...
> g++ -DHAVE_CONFIG_H -I. -I. -I..     
> -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -
> DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES 
> -DNO_GCC_PRAGMA   -
> I/usr/include/libxml2   -I/usr/lib/sigc++-1.2/include 
> -I/usr/include/sigc++-1.2   -Wall -D_REENTRANT -g -
> O2 -g -Wall -O2 -O2 -fexpensive-optimizations -funroll-loops 
> -finline-functions -ffast-math  -c -o 
> FTprocI.o FTprocI.cpp
> In file included from /usr/include/wx-2.6/wx/debug.h:22,
>                  from /usr/include/wx-2.6/wx/defs.h:503,
>                  from /usr/include/wx-2.6/wx/wx.h:15,
>                  from FTprocI.hpp:32,
>                  from FTprocI.cpp:25:
> /usr/include/wx-2.6/wx/wxchar.h:894: error: expected initializer before 
> 'ATTRIBUTE_PRINTF_3'
> /usr/include/wx-2.6/wx/wxchar.h:932: error: expected initializer before 
> 'ATTRIBUTE_PRINTF_1'
> /usr/include/wx-2.6/wx/wxchar.h:933: error: expected initializer before 
> 'ATTRIBUTE_PRINTF_2'
> /usr/include/wx-2.6/wx/wxchar.h:934: error: expected initializer before 
> 'ATTRIBUTE_PRINTF_2'
> ...
> make[3]: *** [FTprocI.o] Error 1
> make[3]: Leaving directory `/tmp/buildd/freqtweak-0.7.0~cvs20070605/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/tmp/buildd/freqtweak-0.7.0~cvs20070605'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/tmp/buildd/freqtweak-0.7.0~cvs20070605'
> make: *** [debian/stamp-makefile-build] Error 2
> dpkg-buildpackage: failure: debian/rules build gave error exit status 2
> -- 
> Daniel Schepler
> 
> 
> 
> 



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to