Re: make check failure for 8.4.0

Lists: pgsql-hackers
From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: make check failure for 8.4.0
Date: 2009-07-17 22:50:29
Message-ID: 4A60B9E50200002500028969@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I took the 8.4.0 release tarball and tried to build it on one of our
production servers which is currently running 8.3.7. We routinely
build multiple versions of PostgreSQL on a machine, using --prefix to
place them. Something seems broken for 8.4.0. Not sure how best to
proceed.

I ran:

----------
tar -xjf postgresql-8.4.0.tar.bz2
cd postgresql-8.4.0/
./configure --prefix=/usr/local/pgsql-8.4.0 --enable-integer-datetimes
--enable-debug --disable-nls --with-libxml
make
make check
-----------

and had these failures:

----------
test create_function_1 ... FAILED
triggers ... FAILED
----------

Files attached. It appears that some phase of the make or make check
picked up production libraries instead of libraries from the build.

Hmmm.... I tried on another machine with very similar configuration
and it worked.

Both machines report (substituting <hostname> for the actual name):

SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 2

Linux <hostname> 2.6.16.60-0.39.3-smp #1 SMP Mon May 11 11:46:34 UTC
2009 x86_64 x86_64 x86_64 GNU/Linux

What should I check?

-Kevin

Attachment Content-Type Size
regression.out application/octet-stream 5.0 KB
regression.diffs application/octet-stream 13.6 KB

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-17 23:03:46
Message-ID: 4A610352.1020509@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


Kevin Grittner wrote:
> I took the 8.4.0 release tarball and tried to build it on one of our
> production servers which is currently running 8.3.7. We routinely
> build multiple versions of PostgreSQL on a machine, using --prefix to
> place them. Something seems broken for 8.4.0. Not sure how best to
> proceed.
>
> I ran:
>
> ----------
> tar -xjf postgresql-8.4.0.tar.bz2
> cd postgresql-8.4.0/
> ./configure --prefix=/usr/local/pgsql-8.4.0 --enable-integer-datetimes
> --enable-debug --disable-nls --with-libxml
> make
> make check
> -----------
>
> and had these failures:
>
> ----------
> test create_function_1 ... FAILED
> triggers ... FAILED
> ----------
>
> Files attached. It appears that some phase of the make or make check
> picked up production libraries instead of libraries from the build.
>
> Hmmm.... I tried on another machine with very similar configuration
> and it worked.
>
> Both machines report (substituting <hostname> for the actual name):
>
> SUSE Linux Enterprise Server 10 (x86_64)
> VERSION = 10
> PATCHLEVEL = 2
>
> Linux <hostname> 2.6.16.60-0.39.3-smp #1 SMP Mon May 11 11:46:34 UTC
> 2009 x86_64 x86_64 x86_64 GNU/Linux
>
> What should I check?
>
>
>

Can we look at the make log?

cheers

andrew


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-17 23:30:09
Message-ID: 5583.1247873409@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> ERROR: incompatible library "/home/kgrittn/postgresql-8.4.0/src/test/regress/refint.so": version mismatch
> DETAIL: Server is version 8.4, library is version 8.3.

That's just bizarre. Could you try strace'ing the backend while doing
that CREATE FUNCTION command (or it should be enough to just try to LOAD
that file by name)? That should provide some evidence about what's
happening. It seems like the dynamic linker must be ignoring the file
it's told to load and loading something else instead, but that's weird
enough that I want strace proof of it...

regards, tom lane


From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-18 00:58:22
Message-ID: 407d949e0907171758p10ef7978od0bb5af19d52a0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sat, Jul 18, 2009 at 12:30 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
>> ERROR:  incompatible library "/home/kgrittn/postgresql-8.4.0/src/test/regress/refint.so": version mismatch
>> DETAIL:  Server is version 8.4, library is version 8.3.
>
> That's just bizarre.  Could you try strace'ing the backend while doing
> that CREATE FUNCTION command (or it should be enough to just try to LOAD
> that file by name)?  That should provide some evidence about what's
> happening.  It seems like the dynamic linker must be ignoring the file
> it's told to load and loading something else instead, but that's weird
> enough that I want strace proof of it...

Really? That's not how I read it. I read it as the build process in
the contrib directory built these modules using the pgxs configuration
from his 8.3 install.

--
greg
http://mit.edu/~gsstark/resume.pdf


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-18 01:03:10
Message-ID: 6887.1247878990@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Greg Stark <gsstark(at)mit(dot)edu> writes:
> Really? That's not how I read it. I read it as the build process in
> the contrib directory built these modules using the pgxs configuration
> from his 8.3 install.

Hm, maybe, but it's not supposed to do that (and I would think we'd have
noticed such a problem before --- surely most hackers have pre-existing
installations of PG in their PATH when they build test versions).
Anyway I'd like to have some hard data before speculating too much.

regards, tom lane


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Greg Stark <gsstark(at)mit(dot)edu>, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-18 01:09:20
Message-ID: 4A6120C0.2070506@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> Greg Stark <gsstark(at)mit(dot)edu> writes:
>
>> Really? That's not how I read it. I read it as the build process in
>> the contrib directory built these modules using the pgxs configuration
>> from his 8.3 install.
>>
>
> Hm, maybe, but it's not supposed to do that (and I would think we'd have
> noticed such a problem before --- surely most hackers have pre-existing
> installations of PG in their PATH when they build test versions).
> Anyway I'd like to have some hard data before speculating too much.
>
>

That's why I asked to see the make log. Maybe some environment setting
affected things?

cheers

andrew


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Greg Stark" <gsstark(at)mit(dot)edu>,<pgsql-hackers(at)postgresql(dot)org>
Subject: Re: make check failure for 8.4.0
Date: 2009-07-18 17:35:29
Message-ID: 4A61C1910200002500028975@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:

> That's why I asked to see the make log. Maybe some environment
> setting affected things?

Bingo! A few weeks back I had been experimenting with using the PGXS
compiles for our extensions, rather than expanding our tarballs in the
build tree and just doing make and sudo make install there. On the
failing machine, the session I used has USE_PGXS defined. I unset
that and out of paranoia I did a make distclean and started over.
This time the same steps worked fine.

Out of curiosity, where is the make log to which you refer?

-Kevin


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Greg Stark" <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-18 17:41:15
Message-ID: 19488.1247938875@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> Bingo! A few weeks back I had been experimenting with using the PGXS
> compiles for our extensions, rather than expanding our tarballs in the
> build tree and just doing make and sudo make install there. On the
> failing machine, the session I used has USE_PGXS defined.

Hah. I wonder whether it's possible for an in-tree build to
intentionally undefine that? We could do something like
override USE_PGXS :=
in contrib/Makefile but I'm not sure if that results in the
variable being "undefined".

regards, tom lane


From: "Andrew Dunstan" <andrew(at)dunslane(dot)net>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Greg Stark" <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-18 18:05:36
Message-ID: 44519.75.177.154.27.1247940336.squirrel@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Sat, July 18, 2009 1:35 pm, Kevin Grittner wrote:

>
> Out of curiosity, where is the make log to which you refer?
>

Just the output from make.

e.g. make > make.log 2>&1

cheers

andrew


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-20 00:37:25
Message-ID: 20090720003725.GH4938@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Kevin Grittner wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
>
> > That's why I asked to see the make log. Maybe some environment
> > setting affected things?
>
> Bingo! A few weeks back I had been experimenting with using the PGXS
> compiles for our extensions, rather than expanding our tarballs in the
> build tree and just doing make and sudo make install there. On the
> failing machine, the session I used has USE_PGXS defined. I unset
> that and out of paranoia I did a make distclean and started over.

This seems like a bug in the PGXS stuff that oughta be fixed.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make check failure for 8.4.0
Date: 2009-07-20 03:52:53
Message-ID: 18329.1248061973@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Kevin Grittner wrote:
>> Bingo! A few weeks back I had been experimenting with using the PGXS
>> compiles for our extensions, rather than expanding our tarballs in the
>> build tree and just doing make and sudo make install there. On the
>> failing machine, the session I used has USE_PGXS defined. I unset
>> that and out of paranoia I did a make distclean and started over.

> This seems like a bug in the PGXS stuff that oughta be fixed.

Well, PGXS per se is just doing what it was told to. What I was
thinking is that we should arrange to un-define USE_PGXS during a
standard in-tree build of contrib/. It's not quite clear to me
where that should happen though. Is contrib/Makefile the right place?
That would mean that issuing "make" within a contrib module directory
might behave differently from saying "make" at a higher level. Maybe
that's what we want --- I can certainly imagine wishing to activate
PGXS while building a contrib module, even if it happens to be inside
a Postgres source tree.

regards, tom lane