p5- make errors: ...perl/mach/5/... not perl/mach/5.20/

FreeBSD 10.1-RELEASE (AMD10.1) #0 r292130: Sat Dec 12 22:37:08 PST 2015
perl5-5.20.3_8

Making either devel/p5-Locale-gettext or devel/p5-Locale-gettext, I get a similar error:
Code:
No such file or directory
In both cases, make(1) is looking for a file at
/var/ports/usr/ports/category/port/work/stage/usr/local/lib/perl5/site_perl/mach/5/etc
when the file is actually at
/var/ports/usr/ports/category/port/work/stage/usr/local/lib/perl5/site_perl/mach/5.20/etc

Attempted /usr/ports/UPDATING; 20141130, 20130316, & 20141127 to no avail.

Code:
===> Registering installation for p5-Locale-gettext-1.06 as automatic
pkg-static: Unable to access file /var/ports/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5/auto/Locale/gettext/gettext.so: No such file or directory
pkg-static: Unable to access file /var/ports/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5/Locale/gettext.pm: No such file or directory
*** Error code 74

gettext.so is actually at /var/ports/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5.20/auto/Locale/gettext/gettext.so

Code:
===> Staging for p5-Crypt-OpenSSL-Random-0.11
===> Generating temporary packing list
Running Mkbootstrap for Crypt::OpenSSL::Random ()
chmod 644 Random.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /var/ports/usr/ports/security/p5-Crypt-OpenSSL-Random/work/stage/usr/local/lib/perl5/site_perl/mach/5.20/auto/Crypt/OpenSSL/Random/Random.so
Installing /var/ports/usr/ports/security/p5-Crypt-OpenSSL-Random/work/stage/usr/local/lib/perl5/site_perl/mach/5.20/Crypt/OpenSSL/Random.pm
Installing /var/ports/usr/ports/security/p5-Crypt-OpenSSL-Random/work/stage/usr/local/lib/perl5/site_perl/man/man3/Crypt::OpenSSL::Random.3
/usr/bin/strip /var/ports/usr/ports/security/p5-Crypt-OpenSSL-Random/work/stage/usr/local/lib/perl5/site_perl/mach/5/auto/Crypt/OpenSSL/Random/Random.so
/usr/bin/strip: '/var/ports/usr/ports/security/p5-Crypt-OpenSSL-Random/work/stage/usr/local/lib/perl5/site_perl/mach/5/auto/Crypt/OpenSSL/Random/Random.so': No such file
*** Error code 1

Stop.
make: stopped in /usr/ports/security/p5-Crypt-OpenSSL-Random

===>>> make stage failed for security/p5-Crypt-OpenSSL-Random
===>>> Aborting update

Actually at /var/ports/usr/ports/security/p5-Crypt-OpenSSL-Random/work/stage/usr/local/lib/perl5/site_perl/mach/5.20/auto/Crypt/OpenSSL/Random/Random.so
 
:oops:

# ls /usr/local/lib/perl5
5.16 5.20 site_perl

Currently attempting:
# portmaster -e lang/perl5.20
# portmaster lang/5.16
# portmaster -Rafd
# portmaster -o lang/perl5.20 lang/perl5.16

It is late to clean this up, but not quite too late:
Code:
===>>> Waiting on fetch & checksum for lang/perl5.16 <<<===
Unsupported, please upgrade to a more recent version of Perl.

It is scheduled to be removed on or after 2015-12-31.
 
Solved: the problem was, as is often the case, specifying the version in /etc/make.conf though having residual 5.16 installs was also suboptimal. The 5.16 origin change was successful and after removing the 5.20 version definition in make.conf (redundant now as 5.20 is the current version), the file structure was created properly.

I had set the default version as 5.20 quite some time ago and it has worked fine until recently.
 
Hello, I have a similar but different issue when building /usr/ports/net/samba4.3, one of the dependencies is a port called p5-Parse-Yapp, during the build it reports:

Code:
===>  p5-Parse-Yapp-1.05_1 depends on file: /usr/local/bin/perl5.12.4 - found
===>  Checking if p5-Parse-Yapp already installed
actual-package-depends: dependency on /usr/local/bin/perl5.12.4 not registered (normal if it belongs to base)
===>  Registering installation for p5-Parse-Yapp-1.05_1 as automatic
pkg-static: Unable to access file /usr/ports/devel/p5-Parse-Yapp/work/stage/usr/local/lib/perl5/site_perl/Parse/Yapp/Options.pm: No such file or directory
pkg-static: Unable to access file /usr/ports/devel/p5-Parse-Yapp/work/stage/usr/local/lib/perl5/site_perl/Parse/Yapp/Driver.pm: No such file or directory
pkg-static: Unable to access file /usr/ports/devel/p5-Parse-Yapp/work/stage/usr/local/lib/perl5/site_perl/Parse/Yapp/Grammar.pm: No such file or directory
*** Error code 74

Stop.
make[3]: stopped in /usr/ports/devel/p5-Parse-Yapp
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/devel/p5-Parse-Pidl
*** Error code 1

When I went looking for the path, it looks like it's missing the version subfolder 5.12.4:

Code:
/usr/ports/devel/p5-Parse-Yapp/work/stage/usr/local/lib/perl5/5.12.4/man

Is there any quick way to fix this as I'm without a samba deployment at the moment? I had a look in the Makefile and I can't see any path references there.


Code:
uname -a
FreeBSD diesel.steppingstones 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue Jul  8 06:34:23 UTC 2014  root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

I've just realised it's replacing the version with the literal string "site_perl" perhaps this needs to be defined somewhere?

I read the above solution and I do have a make.conf definition but it seems to have been auto generated:

Code:
[root@diesel /etc]# ls /usr/local/lib/perl5
5.12.4  5.16  5.8.8  5.8.9  site_perl

Code:
cat make.conf
# added by use.perl 2012-04-06 13:19:31
PERL_VERSION=5.12.4

Resolved:

hashed out the PERL_VERSION in the make.conf
 
Back
Top