Subject: | Race condition when using parallel building |
Date: | Wed, 24 Jan 2018 16:20:25 +0100 |
To: | bug-Sys-Virt [...] rt.cpan.org |
From: | Salvatore Bonaccorso <carnil [...] cpan.org> |
Hi
If one uses make -j (or any make -jN) the build could fail with:
~/libvirt-perl$ perl Makefile.PL
Generating a Unix-style Makefile
Writing Makefile for Sys::Virt
Writing MYMETA.yml and MYMETA.json
~/libvirt-perl$ make -j
Running Mkbootstrap for Virt ()
"/usr/bin/perl" "/usr/share/perl/5.26/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.26/ExtUtils/typemap' -typemap '/root/libvirt-perl/typemap' Virt.xs > Virt.xsc
chmod 644 "Virt.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Virt.bs blib/arch/auto/Sys/Virt/Virt.bs 644
cp lib/Sys/Virt/Network.pm blib/lib/Sys/Virt/Network.pm
cp lib/Sys/Virt/StorageVol.pm blib/lib/Sys/Virt/StorageVol.pm
cp lib/Sys/Virt/Domain.pm blib/lib/Sys/Virt/Domain.pm
cp lib/Sys/Virt/DomainSnapshot.pm blib/lib/Sys/Virt/DomainSnapshot.pm
cp lib/Sys/Virt/NWFilter.pm blib/lib/Sys/Virt/NWFilter.pm
cp lib/Sys/Virt/StoragePool.pm blib/lib/Sys/Virt/StoragePool.pm
cp lib/Sys/Virt/NodeDevice.pm blib/lib/Sys/Virt/NodeDevice.pm
cp lib/Sys/Virt/Secret.pm blib/lib/Sys/Virt/Secret.pm
cp lib/Sys/Virt.pm blib/lib/Sys/Virt.pm
cp lib/Sys/Virt/Event.pm blib/lib/Sys/Virt/Event.pm
cp lib/Sys/Virt/Stream.pm blib/lib/Sys/Virt/Stream.pm
cp lib/Sys/Virt/Interface.pm blib/lib/Sys/Virt/Interface.pm
cp lib/Sys/Virt/Error.pm blib/lib/Sys/Virt/Error.pm
"/usr/bin/perl" "-Iblib/arch" "-Iblib/lib" META.yml.PL META.yml
"/usr/bin/perl" "-Iblib/arch" "-Iblib/lib" perl-Sys-Virt.spec.PL perl-Sys-Virt.spec
Can't locate loadable object for module Sys::Virt in @INC (@INC contains: blib/arch blib/lib /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at perl-Sys-Virt.spec.PL line 9.
Makefile:580: recipe for target 'perl-Sys-Virt.spec' failed
make: *** [perl-Sys-Virt.spec] Error 255
make: *** Waiting for unfinished jobs....
mv Virt.xsc Virt.c
~/libvirt-perl$
This is not a problem if only one job is used.
Regards,
Salvatore