Tom Lane wrote:
Alvaro Herrera <[EMAIL PROTECTED]> writes:
Tom Lane escribió:
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex autoconf gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel

Huh, but the requirement for ExtUtils::Embed is at runtime, so shouldn't
it be a plain Requires instead of BuildRequires?

Really?  I'm pretty sure I recall the RPM build failing when they
changed that.  (But it's possible that the regression test step is what
failed, I don't remember.)  I'd think I'd have heard about it if there
were a missing runtime dependency.

BTW, Andrew was wondering *why* Fedora isn't bundling these anymore.
The CVS logs mention something about versioned perl, so it's possible
that they had to split out some modules to support multiple Perl
installations cleanly.

                        

My F9 instance has the module, from a separate RPM package, but I'm fairly sure it came as part of the normal install. But the F10 install DVD doesn't have it at all. I had to grab it from CPAN and build/install manually to check that it was what was missing.

The really bad thing about this mess is that it doesn't make the build fail - we don't get a failure until runtime, so unless the RPM build checks run the Postgres PL install checks it wouldn't be caught.

I'm thinking of something like this change to config/perl.m4:

Index: config/perl.m4
===================================================================
RCS file: /cvsroot/pgsql/config/perl.m4,v
retrieving revision 1.3
diff -c -r1.3 perl.m4
*** config/perl.m4      29 Nov 2003 19:51:17 -0000      1.3
--- config/perl.m4      6 Nov 2008 17:14:34 -0000
***************
*** 32,35 ****
 pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'`
 perl_embed_ldflags=`echo X"$pgac_tmp1" | sed "s/^X//;s%$pgac_tmp2%%"`
 AC_SUBST(perl_embed_ldflags)dnl
! AC_MSG_RESULT([$perl_embed_ldflags])])
--- 32,41 ----
 pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'`
 perl_embed_ldflags=`echo X"$pgac_tmp1" | sed "s/^X//;s%$pgac_tmp2%%"`
 AC_SUBST(perl_embed_ldflags)dnl
! if test -z "$perl_embed_ldflags" ; then
!       AC_MSG_RESULT(no)
!       AC_MSG_ERROR([unable to determine flags to link embedded Perl])
! else
!       AC_MSG_RESULT([$perl_embed_ldflags])
! fi
! ])# PGAC_CHECK_PERL_EMBED_LDFLAGS


cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to