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



## gessel (Dec 14, 2015)

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:

```
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.


```
===> 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


```
===> 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


----------



## SirDice (Dec 14, 2015)

Arg. I can't even find the edit button any more.


----------



## gessel (Dec 14, 2015)

gha - me either.  Not sure what happened there. I'll try to fix...


----------



## gessel (Dec 14, 2015)

ok, less insane rendering.


----------



## gessel (Dec 14, 2015)

huh... that broke formatting somewhat spectacularly.


----------



## SirDice (Dec 14, 2015)

Thanks, at least it's readable now


----------



## gessel (Dec 14, 2015)

`# 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:

```
===>>> 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.
```


----------



## gessel (Dec 15, 2015)

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.


----------



## Jimmy (Dec 17, 2015)

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:


```
===>  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:


```
/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.



```
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:


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


```
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


----------

