Re: Compilation on Debian SID - Mailing list pgadmin-hackers

From Olly Betts
Subject Re: Compilation on Debian SID
Date
Msg-id loom.20111126T012403-141@post.gmane.org
Whole thread Raw
In response to Compilation on Debian SID  (philippe rimbault <philippe@rimbault.org>)
Responses Re: Compilation on Debian SID  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
philippe rimbault <philippe@rimbault.org> writes:
> There is also this bug (Mon, 24 Oct 2011) from debian FTBFS about pgadmin3:
> http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg953221.html
> And this thread about building pgadmin with wx2.9 (i'm using wx2.8 but there
> is the same error):
> http://archives.postgresql.org/pgadmin-hackers/2011-01/msg00125.php

The reason this code has stopped building is that wxwidgets2.8 in Debian
unstable was recently patched to stop defining the ATTRIBUTE_PRINTF* macros
(which are too generically named and cause clashes with other software)
and to instead define WX_ATTRIBUTE_PRINTF* (as wx2.9 already does).  This
patch can be seen here:

http://patch-tracker.debian.org/patch/series/view/wxwidgets2.8/2.8.12.1-3/fix-
macro-namespace-pollution.patch

The bug motivating this change is here:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521924

My take on this is that the ATTRIBUTE_PRINTF* macros weren't intended to be
used outside of the wx headers - there aren't publicly documented anywhere,
and wx upstream has renamed them in 2.9 without mentioning the fact in
docs/changes.txt (which is intended to document all wx API changes).

So I would say it's a bug in pgadmin that it makes use of these macros -
it should define them itself if it needs them (and to avoid clashes with
everyone else who carelessly defines them without thinking through the
implications, it ought to define something like PG_ATTRIBUTE_PRINTF*
instead of ATTRIBUTE_PRINTF*).

Cheers,
    Olly

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: Compilation on Debian SID
Next
From: Dave Page
Date:
Subject: Re: Compilation on Debian SID