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