Sys::Guestfs build failure (was: Re: [libguestfs] Perl mass rebuild)

Richard W.M. Jones rjones at redhat.com
Mon Jun 20 12:10:38 UTC 2011


On Mon, Jun 20, 2011 at 05:07:20AM +0200, Iain Arnell wrote:
> On Sun, Jun 19, 2011 at 4:39 PM, Richard W.M. Jones <rjones at redhat.com> wrote:
> >> Not a CODE reference at /usr/lib/perl5/DynaLoader.pm line 213.
> >> END failed--call queue aborted at ../perl/blib/lib/Sys/Guestfs.pm line 213.
> >> Compilation failed in require at ./test-launch-race.pl line 26.
> >> BEGIN failed--compilation aborted at ./test-launch-race.pl line 26.
> >> FAIL: test-launch-race.pl
> >>
> >> [...]
> >>
> >> Not a CODE reference at /usr/lib/perl5/DynaLoader.pm line 213.
> >> END failed--call queue aborted at ../perl/blib/lib/Sys/Guestfs.pm line 213.
> >> Compilation failed in require at ./test-lvm-mapping.pl line 23.
> >> BEGIN failed--compilation aborted at ./test-lvm-mapping.pl line 23.
> >> FAIL: test-lvm-mapping.pl
> >
> > It turned out that I could *not* reproduce this problem on Rawhide
> > just by installing the perl-5.14.0-169.fc16.x86_64 package (plus the
> > other binary RPMs that are directly part of perl-5.14.0-169).
> >
> > Sys::Guestfs does not depend on any other Perl libraries, except
> > things like ExtUtils::MakeMaker that are used in the build process and
> > libraries like Dynaloader which are part of core Perl.
> 
> Several packages are failing the mass rebuild on i686 only
> due to an issue with ExtUtils::MakeMaker and CCFLAGS. The problem
> appears as "Not a CODE reference at /usr/lib/perl5/DynaLoader.pm" in
> build logs. And the ultimate cause is that these packages are passing
> CCFLAGS to WriteMakefile in Makefile.PL which ends up replacing the
> default CCFLAGS rather than adding to them. Debian is facing the same
> problem[1]. So far, I've just been patching the affected rpms'
> Makefile.PL to explicitly include $Config{ccflags} when passing
> CCFLAGS to WriteMakefile (i.e. CCFLAGS => "$Config{ccflags}
> -whatever-else-is-added").
> 
> [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628522

Thanks Iain, that's a very useful explanation.

I have added a patch to Rawhide which drops use of the CCFLAGS
variable in Makefile.PL.  This is only a temporary measure.

It's not clear from the Debian report whether ExtUtils::MakeMaker will
be fixed (reverted) or not ...

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org



More information about the perl-devel mailing list