Thread: Re: Error compiling PostgreSQL 7.4 for Fedora Core 1

Re: Error compiling PostgreSQL 7.4 for Fedora Core 1

From
Tom Lane
Date:
Jonathan Gardner <jgardner@jonathangardner.net> writes:
> On Sunday 07 December 2003 12:48 am, Tom Lane wrote:
>> Hmmm ... this is evidently a variant of ye olde "Gen_fmgrtab.sh script
>> failed" problem,

> So far, this is what I have. I'm attaching fmgroids.h and fmgrtab.c ( I kno=
> w=20
> these are fairly sizable...)

That's really bizarre.  For awhile I thought you might have fmgroids.h
and fmgrtab.c generated from some pre-7.4-release version of pg_proc.h,
but that theory doesn't seem to hold water --- for instance your files
include box_send() but not box_recv(), which were added in the same
commit.  I don't see a pattern to the functions you are missing.  Anyone
have a theory?

In the absence of any brilliant insight, I'd suggest slogging through
Gen_fmgrtab.sh to try to narrow down where functions are getting lost
--- add code to save the various intermediate files, and see what's in
'em.  If we knew exactly which step was losing the functions it'd be a
leg up.

> Unfortunately, I am not familiar with the internals of awk and sed. If I=20
> were hired to fix this for my platform (Fedora Core 1), I would probably=20
> rewrite Gen_fmgrtab.sh in perl.

I can't see that as a plausible answer.  With all due respect to Perl,
it's neither more portable nor more bug-free than awk/sed.

> The only other option I see is to distribute the pre-generated fmgroids.h
> and fmgrtab.c with the distribution.

We could fall back in that direction if we had to.  But I'd like to
understand why we have to, first.  Gen_fmgrtab.sh has worked on all our
supported platforms for a long time, and I'm disinclined to assume that
it's suddenly broken ... especially on what's presumably a modern
platform.  I'm having a real problem with the idea that Fedora
incorporates a broken awk or sed.

            regards, tom lane

Re: Error compiling PostgreSQL 7.4 for Fedora Core 1

From
Jonathan Gardner
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 08 December 2003 9:33 pm, Tom Lane wrote:
> In the absence of any brilliant insight, I'd suggest slogging through
> Gen_fmgrtab.sh to try to narrow down where functions are getting lost
> --- add code to save the various intermediate files, and see what's in
> 'em.  If we knew exactly which step was losing the functions it'd be a
> leg up.
>

I just did this. I am no awk or sed expert. I can't see any faults in the=
=20
script other than it is difficult to read. My only thought is that some of=
=20
the regex behavior has changed, but I can't identify anything. The regexes=
=20
used here are very standard.

Unfortunately, in testing the bugger, it accidentally worked. I find this=
=20
most disturbing. However, I was pleasantly surprised that it failed at=20
least one more time before working properly.

Chalk the cause of this bug up as high-energy particles striking the memory=
=20
chip in just the right place at just the right time.

The only other thing I think might affect it is the fact that I was=20
simultaneously compiling PostgreSQL 7.3.4, reading email, and downloading=
=20
stuff. Perhaps there is a strange race condition in the make process. Of=20
course, the recent power outage in the area (that didn't affect us)=20
might've been a cause as well.

I apologize that I couldn't ease your pain, Tom. I know how it feels to see=
=20
the same bug pop up occasionally, only to be solved by hitting the "Redo"=
=20
key.

- --=20
Jonathan Gardner
jgardner@jonathangardner.net
Live Free, Use Linux!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/1XQJWgwF3QvpWNwRAi0FAKCkPV+yn0y3kNT3AoHy5TX9a0v6NACaA7qI
PlIJfFguW4LNr+4RL535rIM=3D
=3DwWkP
-----END PGP SIGNATURE-----

Re: Error compiling PostgreSQL 7.4 for Fedora Core 1

From
Joe Conway
Date:
Tom Lane wrote:
> We could fall back in that direction if we had to.  But I'd like to
> understand why we have to, first.  Gen_fmgrtab.sh has worked on all our
> supported platforms for a long time, and I'm disinclined to assume that
> it's suddenly broken ... especially on what's presumably a modern
> platform.  I'm having a real problem with the idea that Fedora
> incorporates a broken awk or sed.

I was able to rebuild from source rpm on a Fedora machine without any
problem, so I don't think it's a case of wholesale breakage. It's not my
normal development machine, but I'll try compiling from source [...tries...]
Yup, I got a clean build from source with the following configure line:

./configure \
  --prefix=/usr/local/pgsql-7.4 \
  --with-pgport=55434 \
  --with-perl \
  --with-tcl \
  --with-tclconfig=/usr/lib \
  --without-tk \
  --with-python \
  --enable-nls \
  --enable-debug \
  --enable-cassert \
  --enable-depend \
  --with-openssl \
  --with-pam \
  --enable-integer-datetimes \
  --with-krb5=/usr/kerberos \
  --with-includes=/usr/include/et/

The only adjustment from my RH9 box was the last line. Without it
com_err.h wasn't being found.

Joe

Re: Error compiling PostgreSQL 7.4 for Fedora Core 1

From
Tom Lane
Date:
Jonathan Gardner <jgardner@jonathangardner.net> writes:
> Unfortunately, in testing the bugger, it accidentally worked. I find this
> most disturbing. However, I was pleasantly surprised that it failed at
> least one more time before working properly.

Weird; there's no obvious reason for the script to be nondeterministic.

The only idea I can think of is that you were almost out of /tmp space
and the missing data got lost because of lack of space to put it.  I'm
not sure whether awk/sed/etc would detect write failures on stdout.

            regards, tom lane