Solved Install perl5.20 conflicts

Hi

I install perl5.20 by ports tree , I already update port tree to the latest version , but It seem like a problem .
Code:
====> Compressing man pages (compress-man)
===> Installing for perl5-5.20.3_8
===> Checking if perl5 already installed
===> Registering installation for perl5-5.20.3_8
Installing perl5-5.20.3_8...
pkg-static: perl5-5.20.3_8 conflicts with perl5.16-5.16.3_22 (installs files into the same place). Problematic file: /usr/local/bin/a2p
*** [fake-pkg] Error code 70

But , I don't see anything of perl5.16-5.16.3_22 in system ...
Code:
root@backup1:/usr/ports/lang/perl5.20 # pkg_info | grep perl
p5-MIME-Tools-5.504,2 Set of perl5 modules for MIME

root@backup1:/usr/ports/lang/perl5.20 # find / -name "perl5.16-5.16.3_22"
Result is empty...
Code:
root@backup1:/usr/ports/lang # ls perl5
perl5-devel/ perl5.10/ perl5.18/ perl5.20/ perl5.22/ perl5.8/
And there is no 5.16 version ...

I also try to install 5.18 ,but the result is same.

Is it a bug of perl5.20 ?
 
Please read /usr/ports/UPDATING:
Code:
20150914:
  AFFECTS: users of lang/perl5*
  AUTHOR: mat@FreeBSD.org

  Binary package users can ignore this.

  The way lang/perl5* ports install themselves has changed.  From now on, only
  the default Perl port (currently 5.20), or the version listed in
  DEFAULT_VERSIONS, will install /usr/local/bin/perl.

  If you are NOT using the default version of Perl (as of right now, it is
  5.20) you MUST add a line setting the version you are using to your
  /etc/make.conf, to preserve /usr/local/bin/perl:

  DEFAULT_VERSIONS+=    perl5=5.xx

  If your Perl package name is not called perl5-5.xx.y but perl5.xx-5.xx.y,
  you will need to rename it so that portupgrade and portmaster do not get
  confused:

    pkg set -n perl5.xx:perl5

  After this date, to migrate from one Perl version to the other, you must
  first put the DEFAULT_VERSIONS line in your make.conf, and then, for example,
  if you want to move from 5.20 to 5.22, do:

        pkg set -o lang/perl5.20:lang/perl5.22
        portmaster `pkg shlib -qR libperl.so.5.20`

  If you do not do that, you will replace your default Perl 5.20 installation
  (one that has /usr/local/bin/perl) with an installation that does not have
  /usr/local/bin/perl, and it will break everything.
 
Thanks, I changed the default version to 5.18 in /etc/make.conf. And running the following command
Code:
pkg set -n perl5.16-5.16.3_22:perl5          
pkg set -o lang/perl5.16:lang/perl5.18      
portmaster `pkg shlib -qR libperl.so.5.16`
All commands runs with no error

After that, the pkg_info shows some corrupt
Code:
pkg_info: the package info for package 'p5-BerkeleyDB-0.55_1' is corrupt
pkg_info: the package info for package 'p5-Canary-Stability-2011' is corrupt
pkg_info: the package info for package 'p5-Convert-UUlib-1.50,1' is corrupt
pkg_info: the package info for package 'p5-Crypt-OpenSSL-Bignum-0.06' is corrupt
pkg_info: the package info for package 'p5-Crypt-OpenSSL-RSA-0.28_1' is corrupt
pkg_info: the package info for package 'p5-Crypt-OpenSSL-Random-0.11' is corrupt
pkg_info: the package info for package 'p5-Encode-Detect-1.01_1' is corrupt
pkg_info: the package info for package 'p5-HTML-Parser-3.72' is corrupt
p5-MIME-Tools-5.504,2 Set of perl5 modules for MIME
pkg_info: the package info for package 'p5-Net-LibIDN-0.12_4' is corrupt
pkg_info: the package info for package 'p5-Net-SSLeay-1.72' is corrupt
pkg_info: the package info for package 'p5-NetAddr-IP-4.078' is corrupt
pkg_info: the package info for package 'p5-Socket-2.021' is corrupt
pkg_info: the package info for package 'p5-Socket6-0.27' is corrupt
pkg_info: the package info for package 'p5-Unix-Syslog-1.1_1' is corrupt
pkg_info: the package info for package 'perl5-5.18.4_17' is corrupt
pkg_info: the package info for package 'pkg-1.6.4_1' is corrupt
I using the following command , but the result is same.

portupgrade -fr perl5-5.18.4_17

I think the reason is missing libperl.so , when I using vi(1) command. (Shared object "libperl.so" not found, required by "vim")
Maybe the reason is I using pkg_delete -f perl5.14 to delete all package about the perl
How should I fix this problem ?

I also find another question ,when I try to install net-mgmt ,it reports :
Code:
pkg-static: Unable to access file /usr/ports/net-mgmt/net-snmp/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/Bundle/Makefile.subs.pl: No such file or directory
I found there is no 5.16 in "/usr/ports/net-mgmt/net-snmp/work/stage/usr/local/lib/perl5/site_perl/mach"
Code:
root@backup1:/usr/ports/net-mgmt/net-snmp/work/stage/usr/local/lib/perl5/site_perl/mach # ll
total 12
drwxr-xr-x  3 root  wheel  512  3 31 14:31 ./
drwxr-xr-x  3 root  wheel  512  3 31 14:31 ../
drwxr-xr-x  5 root  wheel  512  3 31 14:31 5.18/
I using command pkg set -o net-mgmt/perl5.18:lang/perl5.16 , and reinstall again ,but it reports another errors :
Code:
pkg-static: Unable to access file /usr/ports/net-mgmt/p5-Cflow/work/stage/usr/local/share/man/man1/flowdumper.1.gz: No such file or directory
It still have no "man" directory in "/usr/ports/net-mgmt/p5-Cflow/work/stage/usr/local/"
root@backup1:/usr/ports/net-mgmt # ll /usr/ports/net-mgmt/p5-Cflow/work/stage/usr/local/
total 56
drwxr-xr-x  14 root  wheel  512  3 31 15:49 ./
drwxr-xr-x   3 root  wheel  512  3 31 15:49 ../
drwxr-xr-x   2 root  wheel  512  3 31 15:49 bin/
drwxr-xr-x   9 root  wheel  512  3 31 15:49 etc/
drwxr-xr-x   3 root  wheel  512  3 31 15:49 include/
drwxr-xr-x   2 root  wheel  512  3 31 15:49 info/
drwxr-xr-x   5 root  wheel  512  3 31 15:49 lib/
drwxr-xr-x   5 root  wheel  512  3 31 15:49 libdata/
drwxr-xr-x   2 root  wheel  512  3 31 15:49 libexec/
drwxr-xr-x  28 root  wheel  512  3 31 15:49 man/
drwxr-xr-x   2 root  wheel  512  3 31 15:49 sbin/
drwxr-xr-x  16 root  wheel  512  3 31 15:49 share/
drwxr-xr-x   2 root  wheel  512  3 31 15:49 tests/
drwxr-xr-x   2 root  wheel  512  3 31 15:49 www/
I updating make index in "/usr/ports" , and using the below command , but no working....
Code:
portsnap fetch update
portmaster -aftd
What happen to my system....?
 
Why are you using the old pkg_delete(1) and pkg_info(1) commands? Those have been deprecated for quite some time and do NOT work.
I thought FreeBSD 9.1 is not support pkg-info(8), but I was wrong.. lol , It looks like normal.
Code:
root@backup1:/usr/ports/net-mgmt # pkg info | grep perl
p5-Canary-Stability-2011       Checks what version of perl you're running
p5-File-NFSLock-1.21_1         File::NFSLock - perl module to do NFS (or not) locking
p5-MIME-Tools-5.507,2          Set of perl5 modules for MIME
perl5-5.18.4_17                Practical Extraction and Report Language
But , I still can not install package by pkg-install(8)
Code:
root@backup1:/usr/ports/net-mgmt # pkg install net-mgmt
No active remote repositories configured.

root@backup1:/usr/ports/net-mgmt # pkg check -d
Checking all packages: 100%
blt has require a missing libraries: libX11.so.6
blt has require a missing libraries: libjpeg.so.11
blt has require a missing libraries: libtcl86.so.1
...
...
...
missing file is to much

root@backup1:/usr/ports/net-mgmt # pkg check -Ba
Checking all packages: 100%
root@backup1:/usr/ports/net-mgmt # pkg update -f
No active remote repositories configured.
 
Last edited by a moderator:
Thanks , I will try upgrade to 9.3 , I do not have done this before ,is there have some steps or tips ?
 
Back
Top