This is very odd. I installed a FreeBSD 8.4-Release. Installed perl5: root@test84:/install/INSTALL_FreeBSD_84 # perl -v This is perl 5, version 14, subversion 4 (v5.14.4) built for amd64-freebsd I then compiled and tried to install a laundry list of perl modules. Some modules need to compile and install .so and .bs files. Some, but not all, of these modules had the following error. It appears that the .bs file is listed in the PLIST XX ===> Building package for p5-Bit-Vector-7.3 XX tar: lib/perl5/site_perl/5.14/mach/auto/Bit/Vector/Vector.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. But there is no Vector.bs file: # find work -name '*.bs' (no output - no file found) I also did: test84: {60} # cd work/Bit-Vector-7.3/ test84: {61} # make test PERL_DL_NONLAZY=1 /usr/local/bin/perl5.14.4 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00_____version.t .. ok t/01_________new.t .. ok t/02_____destroy.t .. ok t/03__operations.t .. ok t/04___functions.t .. ok t/05______primes.t .. ok t/06______subset.t .. ok t/07_____compare.t .. ok t/08______resize.t .. ok t/09__parameters.t .. ok t/10___intervals.t .. ok t/11_______shift.t .. ok t/12______string.t .. ok t/13___increment.t .. ok t/14_______empty.t .. ok t/15_________add.t .. ok t/16____subtract.t .. ok t/17_________gcd.t .. ok t/28___chunklist.t .. ok t/30__overloaded.t .. ok t/40___auxiliary.t .. ok t/50_freeze_thaw.t .. ok t/51_file_nstore.t .. ok All tests successful. Files=23, Tests=91963, 9 wallclock secs ( 7.84 usr 0.09 sys + 1.54 cusr 0.18 csys = 9.65 CPU) Result: PASS So it appears that the .bs file is not generated or required. I patched the pkg-plist file: test84: {64} # diff -bc pkg-plist* *** pkg-plist Fri Oct 25 10:23:07 2013 --- pkg-plist.orig Fri Oct 25 10:22:50 2013 *************** *** 5,10 **** --- 5,11 ---- %%SITE_PERL%%/%%PERL_ARCH%%/Bit/Vector/String.pm %%SITE_PERL%%/%%PERL_ARCH%%/Bit/Vector/String.pod %%SITE_PERL%%/%%PERL_ARCH%%/auto/Bit/Vector/.packlist + %%SITE_PERL%%/%%PERL_ARCH%%/auto/Bit/Vector/Vector.bs %%SITE_PERL%%/%%PERL_ARCH%%/auto/Bit/Vector/Vector.so @dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Bit/Vector @dirrm %%SITE_PERL%%/%%PERL_ARCH%%/Bit/Vector And did: make all install package test84: {71} # make all install package ===> Installing for p5-Bit-Vector-7.3 ===> p5-Bit-Vector-7.3 depends on package: p5-Carp-Clan>=0 - found ===> p5-Bit-Vector-7.3 depends on file: /usr/local/bin/perl5.14.4 - found ===> Generating temporary packing list ===> Checking if math/p5-Bit-Vector already installed Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/local/lib/perl5/site_perl/5.14/mach/auto/Bit/Vector/Vector.so Installing /usr/local/lib/perl5/site_perl/5.14/mach/Bit/Vector.pm Installing /usr/local/lib/perl5/site_perl/5.14/mach/Bit/Vector.pod Installing /usr/local/lib/perl5/site_perl/5.14/mach/Bit/Vector/Overload.pm Installing /usr/local/lib/perl5/site_perl/5.14/mach/Bit/Vector/String.pod Installing /usr/local/lib/perl5/site_perl/5.14/mach/Bit/Vector/Overload.pod Installing /usr/local/lib/perl5/site_perl/5.14/mach/Bit/Vector/String.pm Installing /usr/local/lib/perl5/5.14/man/man3/Bit::Vector.3 Installing /usr/local/lib/perl5/5.14/man/man3/Bit::Vector::Overload.3 Installing /usr/local/lib/perl5/5.14/man/man3/Bit::Vector::String.3 ===> Compressing manual pages for p5-Bit-Vector-7.3 ===> Registering installation for p5-Bit-Vector-7.3 ===> Building package for p5-Bit-Vector-7.3 I suspect that the pkg-plist entries for the indicated *.bs files are not needed. -------------------------------------- XX ===> Building package for p5-B-Utils-0.21 XX tar: lib/perl5/site_perl/5.14/mach/auto/B/Utils/Utils.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-Bit-Vector-7.3 XX tar: lib/perl5/site_perl/5.14/mach/auto/Bit/Vector/Vector.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-HTML-Parser-3.71 XX tar: lib/perl5/site_perl/5.14/mach/auto/HTML/Parser/Parser.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-Params-Util-1.07 XX tar: lib/perl5/site_perl/5.14/mach/auto/Params/Util/Util.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-Socket-2.012 XX tar: lib/perl5/site_perl/5.14/mach/auto/Socket/Socket.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-Storable-2.45 XX tar: lib/perl5/site_perl/5.14/mach/auto/Storable/Storable.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-Text-Iconv-1.7 XX tar: lib/perl5/site_perl/5.14/mach/auto/Text/Iconv/Iconv.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-Tk-804.031_1 XX tar: lib/perl5/site_perl/5.14/mach/auto/Tk/Canvas/Canvas.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. XX ===> Building package for p5-XML-LibXML-2.0106,1 XX tar: lib/perl5/site_perl/5.14/mach/auto/XML/LibXML/LibXML.bs: Cannot stat: No such file or directory XX tar: Error exit delayed from previous errors. Fix: I suspect that the pkg-plist contents contains a *.bs entry that is no longer needed. How-To-Repeat: Install FBSD-84, latest version of perl, and try to build the indicated pacakges.
I think this can be related to latest ExtUtils::MakeMaker update. In changelog (but it can be unrelated): 6.79_03 Fri Oct 11 13:56:53 BST 2013 Bug fixes: * don't copy .bs portably :) 6.79_02 Fri Oct 11 12:58:01 BST 2013 Bug fixes: * RT#28992 don't copy .bs files if they are empty sunpoet@ can you look at this? Since old EU::MM allow empty and new one don= 't. And we have EU::MM in core and in ports.
Author: sunpoet Date: Sat Oct 26 08:39:31 2013 New Revision: 331660 URL: http://svnweb.freebsd.org/changeset/ports/331660 Log: - Allow ExtUtils::MakeMaker to install empty .bs file (traditional behavior) - Bump PORTREVISION for package change PR: ports/183305 Reported by: Patrick Powell <papowell@astart.com> Patched by: sunpoet (myself) Reviewed by: az Added: head/devel/p5-ExtUtils-MakeMaker/files/ head/devel/p5-ExtUtils-MakeMaker/files/patch-lib-ExtUtils-MM_Unix.pm (contents, props changed) Modified: head/devel/p5-ExtUtils-MakeMaker/Makefile Modified: head/devel/p5-ExtUtils-MakeMaker/Makefile ============================================================================== --- head/devel/p5-ExtUtils-MakeMaker/Makefile Sat Oct 26 08:33:13 2013 (r331659) +++ head/devel/p5-ExtUtils-MakeMaker/Makefile Sat Oct 26 08:39:31 2013 (r331660) @@ -3,6 +3,7 @@ PORTNAME= ExtUtils-MakeMaker PORTVERSION= 6.80 +PORTREVISION= 1 CATEGORIES= devel perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- @@ -41,5 +42,6 @@ post-patch: @${RM} -fr ${WRKSRC}/bundled/ @[ -e ${LOCALBASE}/lib/perl5/${PERL_VER}/mach/CORE/cc_runtime.h ] || \ ${SED} -i '' -e '/cc_runtime.h/d' ${WRKSRC}/lib/ExtUtils/MM_Unix.pm + @${RM} ${WRKSRC}/lib/ExtUtils/MM_Unix.pm.orig .include <bsd.port.post.mk> Added: head/devel/p5-ExtUtils-MakeMaker/files/patch-lib-ExtUtils-MM_Unix.pm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/p5-ExtUtils-MakeMaker/files/patch-lib-ExtUtils-MM_Unix.pm Sat Oct 26 08:39:31 2013 (r331660) @@ -0,0 +1,16 @@ +ExtUtils::MakeMaker starting from 6.80 by default does not copy .bs files if they are empty. +More information can be obtained from ports/183305 + +--- lib/ExtUtils/MM_Unix.pm.orig 2013-10-15 23:04:44.000000000 +0800 ++++ lib/ExtUtils/MM_Unix.pm 2013-10-26 04:30:48.748262789 +0800 +@@ -958,8 +958,8 @@ + + push @m, <<'MAKE'; + $(CHMOD) $(PERM_RWX) $@ +- $(NOECHO) $(RM_RF) $(BOOTSTRAP) +- - $(CP_NONEMPTY) $(BOOTSTRAP) $(INST_BOOT) $(PERM_RW) ++ $(NOECHO) $(RM_RF) $(INST_BOOT) ++ - $(TOUCH) $(BOOTSTRAP) && $(CP) $(BOOTSTRAP) $(INST_BOOT) && $(CHMOD) $(PERM_RW) $(INST_BOOT) + MAKE + + return join('',@m); _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Problem solved in the ports tree.
The problem is still there. I think the source of the problem is not that zero length .bs files are not being copied but the .bs file is not being GENERATED. Try net/p5-Socket6. You will find that the .bs file is not generated at all during the build process. Here is what I got for net/p5-Socket6: COMPILE /usr/ports/net/p5-Socket6 ===> Building package for p5-Socket6-0.23 tar: lib/perl5/site_perl/5.14/mach/auto/Socket6/Socket6.bs: Cannot stat: No such file or directory tar: Error exit delayed from previous errors. pkg_create: make_dist: tar command failed with code 256 Creating package /usr/ports/net/p5-Socket6/work/p5-Socket6-0.23.tbz Registering depends: perl-5.14.4. Creating bzip'd tar ball in '/usr/ports/net/p5-Socket6/work/p5-Socket6-0.23.tbz' *** Error code 1 Stop in /usr/ports/net/p5-Socket6. Note: when I did portsnap and updated to version as of 2013-10-29 07:12:00 PST and recompiled devel/p5-ExtUtils-MakeMaker cd /usr/ports/devel/p5-ExtUtils-MakeMaker make clean all install package The package file was created in p5-ExtUtils-MakeMaker/work/p5-ExtUtils-MakeMaker-6.80_1.tbz Before, the package file was created in p5-ExtUtils-MakeMaker. Is this the new 'staging' standard location for generated package files?