perl5-5.18.4_17 conflicts with perl5.18-5.18.4_17

portmaster -Da fails with this, iI just cant figure out what to do :(
Code:
===>   llvm36-3.6.2_2 depends on executable: sphinx-build - found
===>   llvm36-3.6.2_2 depends on executable: gmake - found
===>   llvm36-3.6.2_2 depends on file: /usr/local/bin/python2.7 - found
===>   llvm36-3.6.2_2 depends on package: perl5>=5.18<5.19 - not found
===>  Installing for perl5-5.18.4_17
===>  Checking if perl5 already installed
===>   Registering installation for perl5-5.18.4_17 as automatic
Installing perl5-5.18.4_17...
pkg-static:  perl5-5.18.4_17 conflicts with perl5.18-5.18.4_17 (installs files into the same place).  Problematic file:
/usr/local/share/licenses/perl5-5.18.4_17/catalog.mk
*** Error code 70

Its an obvious nonsense :(
 
Code:
[12:52:25 /usr/ports/lang/perl5.18]
> sudo make install
===>  Installing for perl5-5.18.4_17
===>  Checking if perl5 already installed
===>   Registering installation for perl5-5.18.4_17
Installing perl5-5.18.4_17...
pkg-static: perl5-5.18.4_17 conflicts with perl5.18-5.18.4_17 (installs files into the same place).  Problematic file:
/usr/local/share/licenses/perl5-5.18.4_17/catalog.mk
*** Error code 70

Stop.
make[1]: stopped in /usr/ports/lang/perl5.18
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/perl5.18

[12:52:34 /usr/ports/lang/perl5.18]
> sudo make deinstall
===>  Deinstalling for perl5
===>   perl5 not installed, skipping
 
Yes but this is gibberish to me, iI have no clue what iI should actually do. The renaming part iI do understand but what the DEFAULT* should be, iI have no clue...

I don’t want to touch anything until iI understand it as iI don’t want to get into some greater mess. That’s why iI am asking it here.
 
I had same error, I had to upgrade perl from 5.18, which is becoming obsolete to newer one and recompile all packages which depends on perl.

vi /etc/make.conf
add new default version for perl, I was upgrading to 5.22 by inserting line:
Code:
DEFAULT_VERSIONS+=perl5=5.22
Then look into UPDATING for 20150914, there you will find how to upgrade perl (instead of 5.20 operate with 5.18)
less /usr/ports/UPDATING

Then simply check for perl5 broken dependencies:
sudo pkg check -p

And recompile each one of them:
cd /usr/ports/<dependencyLocation>;make clean;make reinstall clean
 

wblock@

Developer
The entry in UPDATING is confusing. The best solution is to use the default Perl. The only reason to add a DEFAULT_VERSIONS is to override the default. 99% of people do not need that. Just use the system default by not adding that version override.

Conflicts with older versions are discussed earlier in /usr/ports/UPDATING. Much earlier, like years in some cases. There are various ways to do these with ports. I don't use binary packages, so can't suggest ways to deal with that.
 
I have the same error and would like to stay with the default and not add a version override for perl5.
Where can I find UPDATING 20150513 ? Or can anyone post the relevant parts here?
 

junovitch@

Developer
Thanks everyone for this. This worked like a charm for me having the same issue. Saved me lots of time. Another example of why reading UPDATING is so valuable. Thanks again.
 
Top