# Cannot install some perl modules.



## AlexN (Aug 18, 2011)

Hello.
I have a strange issue. Yesterday I've updated ports tree with thoughts to install perl Mail-Box modules. But I couldn't do that because strange error occurred:

```
# make
===>  p5-Mail-Box-2.097 requires Perl 5.8.0 or later, install lang/perl5.8, lang/perl5.10, lang/perl5.12 or lang/perl5.14 and try again.
*** Error code 1
```

At that point I used perl5.12.4 and it worked as it should. Other (already installed) modules were also working fine. I decided to update perl from 5.12.4 to 5.14.1:

```
env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.14 -f perl-5.12.\*
```
After that I rebuilt all ports that were dependent on perl.

```
portupgrade -fr perl
```
Mostly of that stuff were updated but not all. Some modules refused to build with the same error as p5-Mail-Box.
I've noticed that ports that refusing to build has something like 
	
	



```
PERL_CONFIGURE= 5.8.1+
```
 in their Makefile. In other hand ports that has 
	
	



```
PERL_CONFIGURE= YES
```
 building and working properly. Changing this variable in Makefiles of problem ports solved this issue and make them built and installed. But I think solving this in such way not a good idea. Is this a bug or something I don't understand something so far? Also couldn't find something useful on the Internet.
I'm using:

```
# uname -a
FreeBSD Elf 8.2-RELEASE FreeBSD 8.2-RELEASE #5: Sat May 14 22:56:08 UTC 2011     elf@Elf:/usr/src/sys/amd64/compile/ELFKERN  amd64
```
Sorry for my poor english and thank you in advance.


----------



## jb_fvwm2 (Aug 19, 2011)

```
find /usr/local/lib/perl5/site_perl/5.12.4 -type f -exec pkg_which {} + | tee -a /tmp/A-perl.dat 
cat /tmp/A-perl.dat | sort | uniq | tee -a /tmp/B-perl.dat 
less /tmp/B-perl.dat
```
Ports to rebuild?  If it was 5.12.3 > 5.12.4 I would recc. the perl-after-upgrade script. Don't know about the other questions...  (another version of that script omits the site_perl portion of the path... ... Recently I found a whole slew of superfluous files and directories underneath /perl5/ after the latest upgrade, previous ones were done sort of haphazardly...


----------



## AlexN (Aug 20, 2011)

Using empirical way I've found that my perl version (PERL_VERSION variable?), while making something from ports, recognizing as 0. What instance is in charge of this?
By the way, jb_fvwm2, thank you for your advice. Looks like there is no garbage underneath my /usr/local/lib/perl5/.


----------



## AlexN (Aug 21, 2011)

If no one can help maybe someone could say me right place to ask this question.


----------



## wblock@ (Aug 21, 2011)

AlexN said:
			
		

> Using empirical way I've found that my perl version (PERL_VERSION variable?), while making something from ports, recognizing as 0. What instance is in charge of this?



That variable is set in /etc/make.conf when the perl port is installed.

```
# added by use.perl 2011-08-08 14:09:17
PERL_VERSION=5.12.4
```


----------



## AlexN (Aug 21, 2011)

Yes, I know that. And that's what I have in /etc/make.conf

```
# added by use.perl 2011-08-18 20:04:12
PERL_VERSION=5.14.1
```
But problem persists. Looks like somehow I broke my system. But I cannot understand what exactly is broken.


----------



## kpa (Aug 21, 2011)

Install ports-mgmt/portmaster and run a ports dependency check followed by a consistency check of /var/db/ports with these commands:

`# portmaster --check-depends`

`# portmaster --check-port-dbdir`


----------



## AlexN (Aug 24, 2011)

Did as you said. All looks fine.It showed me just few packages not common to perl that seemed not to be installed and it offered me to remove them from /var/db/ports (something like quake2 and so on).

Also if you fell into trouble like this and you need whatever to install some modules and work with them you can try to add to /etc/make.conf
	
	



```
USE_PERL5= YES
```
 But in this case as I understood you must determine possible version mismatch by yourself.


----------



## kpa (Aug 25, 2011)

Are any of those perl modules originally installed from packages? You can try to forcibly delete those modules with `# pkg_delete -f p5-...` and then delete anything related to those modules under /var/db/pkg and /var/db/ports and then reinstall those modules from ports.


----------



## AlexN (Aug 25, 2011)

No, all modules (and other stuff of my system) were built from ports only.


----------



## AlexN (Apr 11, 2012)

Problem disappeared after rebuilding of the world.


----------

