Skip site navigation (1) Skip section navigation (2)

Re: Compilation on Debian SID

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: philippe rimbault <philippe(at)rimbault(dot)org>
Cc: pgadmin-hackers(at)postgresql(dot)org
Subject: Re: Compilation on Debian SID
Date: 2011-11-13 17:35:03
Message-ID: 1321205703.3012.9.camel@localhost.localdomain (view raw or flat)
Thread:
Lists: pgadmin-hackers
On Fri, 2011-11-04 at 10:15 +0100, philippe rimbault wrote:
> 2011/11/4 Guillaume Lelarge <guillaume(at)lelarge(dot)info>
> 
> > On Fri, 2011-11-04 at 10:01 +0100, philippe rimbault wrote:
> > > GCC : gcc (Debian 4.6.1-15) 4.6.1
> >
> > Same here.
> >
> > > GLIBC : glibc-2.13-1
> >
> >
> > 2.14 for me.
> >
> > > I'have tried to compile on an other computer (fresh Debian SID) and it's
> > > the same issue.
> > >
> >
> > How do you get a debian sid? I failed last evening. Here are my steps:
> >  * squeeze netinstall
> >  * sed -i -e 's/squeeze/unstable/' /etc/apt/sources.list
> >  * aptitude update
> >  * aptitude full-upgrade
> >
> >
> I always start with a testing ISO :
> http://cdimage.debian.org/cdimage/weekly-builds/
> and after :
> - change /etc/apt/sources.list
> - apt-get update
> - apt-get upgrade
> - apt-get dist-upgrade
> 
> But yours steps seems ok too.
> What kind of error you get ?
> 

First, sorry to answer that late.

I tried with a testing ISO, and I reproduce the error. No need to change
sources.list.

The only way I found to fix this is to change the file
pgadmin/include/utils/sysLogger.h, this way:

/*
#define DECLARE_INT_LOG_FUNCTION(level)                               \
extern void wxVLog##level(const wxChar *szFormat, va_list argptr);    \
extern void wxLog##level(const wxChar *szFormat, ...) ATTRIBUTE_PRINTF_1

DECLARE_INT_LOG_FUNCTION(Notice);
DECLARE_INT_LOG_FUNCTION(Sql);
DECLARE_INT_LOG_FUNCTION(QuietError);
DECLARE_INT_LOG_FUNCTION(Script);
DECLARE_INT_LOG_FUNCTION(ScriptVerbose);
*/
DECLARE_LOG_FUNCTION(Notice);
DECLARE_LOG_FUNCTION(Sql);
DECLARE_LOG_FUNCTION(QuietError);
DECLARE_LOG_FUNCTION(Script);
DECLARE_LOG_FUNCTION(ScriptVerbose);

In other words, I replace DECLARE_INT_LOG_FUNCTION with
DECLARE_LOG_FUNCTION, and comment the DECLARE_INT_LOG_FUNCTION
declaration.

AFAICT, this macro is here since the development of 1.14 to be able to
dynamically link with wxWidgets on Windows. This is commit
1270bcd192729d95cb5e2aa687e5ba1c366b7f5f. I don't quite understand why
the new macro was required, but it doesn't help on Linux. One possible
way to get rid of this is to put this code in place when compiling on
Linux, and not otherwise.

Not still sure if this is the right move. Something bothers me: why does
it work on Fedora without the patch, and not on Debian? how do the
Debian guys have a pgadmin 1.14 packaged without changing this file?
(yes, 1.14 shows also the issue, and yes there is no patch on this file
for their prebuilt package)

Well, it still needs more investigation, but at least, you can compile
it with this "patch". 


-- 
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


In response to

Responses

pgadmin-hackers by date

Next:From: Dave PageDate: 2011-11-13 18:44:23
Subject: Re: v1.14 SQL editor collapsing feature
Previous:From: Guillaume LelargeDate: 2011-11-13 14:40:58
Subject: Re: pgAdmin III commit: Update french translation

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group