Re: configure "stuff"

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: configure "stuff"
Date: 2011-06-27 07:32:56
Message-ID: 1309159976.4790.18.camel@laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

On Sun, 2011-06-26 at 20:35 +0100, Dave Page wrote:
> On Sat, Jun 25, 2011 at 7:26 PM, Guillaume Lelarge
> <guillaume(at)lelarge(dot)info> wrote:
> > Hi,
> >
> > I received an email a few days ago (humm, weeks) about issues with
> > compiling pgAdmin.
> >
> > ====== extract ======
> > The file pgadmin/db/keywords.c has this statement in it:
> > #include <server/parser/kwlist.h>
> >
> > Now it comes that pg_config does spit out either
> > /usr/include/postgresql for the --includedir switch (for client things)
> > and /usr/include/postgresql/9.0/server for --includedir-server. Given
> > that both seems to work well for other stuff I'm unsure whether there is
> > a problem here and it should rather be #include <parser/kwlist.h> (or
> > the file be moved out of server context).
> > ====== end of extract ======
> >
> > I took a quick look at it, and it seems we forgot something. If I'm not
> > wrong, we don't use the --includedir-server switch for our includes in
> > the configure script (actually, in the acinclude.m4 file). And it breaks
> > the compilation on Debian when a user uses the PostgreSQL package on
> > Debian or any other .deb linux distributions. We already do this for the
> > package include dir (--pkgincludedir), I don't see any reason why we
> > shouldn't do it for the server one.
>
> Hmm, that would explain it - until now it's worked for some people and
> not for others and we've assumed it was a broken -dev package. I
> assume something like this does the trick:
>
> diff --git a/acinclude.m4 b/acinclude.m4
> index e379c62..f5eeaa4 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -548,8 +548,9 @@ AC_DEFUN([SETUP_POSTGRESQL],
> AC_LANG_RESTORE
>
> PG_INCLUDE=`${PG_CONFIG} --includedir`
> + PG_SVRINCLUDE=`${PG_CONFIG} --includedir-server`
> PG_PKGINCLUDE=`${PG_CONFIG} --pkgincludedir`
> - CPPFLAGS="$CPPFLAGS -I${PG_INCLUDE} -I${PG_PKGINCLUDE}"
> + CPPFLAGS="$CPPFLAGS -I${PG_INCLUDE} -I${PG_SVRINCLUDE}
> -I${PG_PKGINCLUDE}"
>
> PG_VERSION=`${PG_CONFIG} --version`
>

Yes, that's pretty much what I was thinking. There is also another file
that needs to be updated:

diff --git a/pgadmin/db/keywords.c b/pgadmin/db/keywords.c
index 9370a9e..0362a71 100644
--- a/pgadmin/db/keywords.c
+++ b/pgadmin/db/keywords.c
@@ -30,7 +30,7 @@
*/
#define PG_KEYWORD(a,b,c) {a,c},
const ScanKeyword ScanKeywords[] = {
-#include <server/parser/kwlist.h>
+#include "parser/kwlist.h"
};
const int NumScanKeywords = lengthof(ScanKeywords);

Can I commit both changes?

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

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Guillaume Lelarge 2011-06-27 07:34:44 Re: pgAdmin III commit: Database Designer (milestone 1 of GSoC 2011)
Previous Message Magnus Hagander 2011-06-27 07:31:40 Re: pgAdmin III commit: Database Designer (milestone 1 of GSoC 2011)