plperl doesn't build in CVS tip? - Mailing list pgsql-hackers

From Tom Lane
Subject plperl doesn't build in CVS tip?
Date
Msg-id 21720.1053040490@sss.pgh.pa.us
Whole thread Raw
Responses Re: plperl doesn't build in CVS tip?
List pgsql-hackers
On a RHL 8.0 box, I'm getting this:

gcc -O2 -g -fpic -I. -I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -I../../../src/include   -c -o plperl.o
plperl.c
In file included from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/op.h:480,                from
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h:2209,               from plperl.c:61:
 
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/reentr.h:602: field `_crypt_struct' has incomplete type
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/reentr.h:747: confused by earlier errors, bailing out
make: *** [plperl.o] Error 1

Is anyone else seeing the same?  I'm confused because I'm quite sure
it built there recently.  I suspect one of the recent changes to our
configure stuff broke it, but I don't see the connection offhand.

A little bit of digging suggests that this Perl include file will
compile as-is if and only if _GNU_SOURCE is #define'd (that's the only
way to get <crypt.h> to define the needed struct).  Now Perl's config.h
does define that symbol --- but far too late, because it has to have
been defined the *first* time <features.h> is read, or it won't have any
effect.  So I don't see right now how this could ever have worked.
But it did, and not too long ago.  Any ideas?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Win32, compiles, under, MinGW/Msys!
Next
From: Tom Lane
Date:
Subject: Re: plperl doesn't build in CVS tip?