I've observed a couple of build failures locally which I've tracked down to the Makefile generated by the yocto recipe for libbsd-resource-perl.
The attached patch file addresses the problem and I offer it for your
consideration. The file containing the problem is
ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
What I believe is happening is that the make recipe for BOOTSTRAP and
INST_DYNAMIC are executing in parallel. The recipe for BOOTSTRAP is of
course making BOOTSTRAP and in addition touches it and performs a chmod on
it.
The make recipe for INST_DYNAMIC includes a RM_RF on BOOTSTRAP which can
interfere with the recipe for BOOTSTRAP.
I'm also attaching my generated Makefile. You can see the RM_RF on
BOOTSTRAP at line 473 in the rule for INST_DYNAMIC. We're building under
Fedora-20 on x86_64 using poky-1.7. Perl version is 5.20 and MakeMaker
version appears to be 7.04_01.
$(BOOTSTRAP) : $(FIRST_MAKEFILE) $(BOOTDEP)
$(INST_ARCHAUTODIR)$(DFSEP).exists
$(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))"
$(NOECHO) $(PERLRUN) \
"-MExtUtils::Mkbootstrap" \
-e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');"
$(NOECHO) $(TOUCH) $@
$(CHMOD) $(PERM_RW) $@
$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
$(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
$(RM_F) $@
$(LD) $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) \
$(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST)
\
$(INST_DYNAMIC_FIX)
$(CHMOD) $(PERM_RWX) $@
$(NOECHO) $(RM_RF) $(BOOTSTRAP)
- $(CP_NONEMPTY) $(BOOTSTRAP) $(INST_BOOT) $(PERM_RW)
Regards,
John
Makefile
Description: Binary data
0001-MM_Unix-adds-dependency-on-BOOTSTRAP-to-avoid-race.patch
Description: application/download
