Dear all, I upgraded Perl to 5.24(1.r4_1) (via pkg upgrade). When I now try to install the latest version from ports (1.r5_1), the system can?t install the new version because of the older version, but can?t deinstall(*) the older version (eg. via make deinstall && make reinstall). root at gw2:/usr/ports/lang/perl5.24 # pkg info | grep perl p5-Data-Dumper-2.161 Stringified perl data structures, suitable for both printing and eval p5-Pg-2.1.1_4,1 Interface for using perl5 to access PostgreSQL databases p5-Scalar-List-Utils-1.45,1 Perl subroutines that would be nice to have in the perl core perl5-5.24.1.r4_1 Practical Extraction and Report Language so currently via pkg upgrade I got perl5-5.24.1.r4_1, which perl itself confirms: root at gw2:/usr/ports/lang/perl5.24 # perl -v This is perl 5, version 24, subversion 1 (v5.24.1) built for amd64-freebsd-thread-multi (with 1 registered patch, see perl -V for more detail) This is then obviously the version from FreeBSD repository. If I try to install the latest version from ports (perl5-5.24.1.r5_1), I get the following (make install just to get the messages): root at gw2:/usr/ports/lang/perl5.24 # make install ===> Installing for perl5.24-5.24.1.r5_1 ===> Checking if perl5.24 already installed ===> Registering installation for perl5.24-5.24.1.r5_1 Installing perl5.24-5.24.1.r5_1... pkg-static: perl5.24-5.24.1.r5_1 conflicts with perl5-5.24.1.r4_1 (installs files into the same place). Problematic file: /usr/local/bin/perl5.24.1 *** Error code 70 Stop. make[1]: stopped in /usr/ports/lang/perl5.24 *** Error code 1 Stop. make: stopped in /usr/ports/lang/perl5.24 Deinstalling the existing version does not work: root at gw2:/usr/ports/lang/perl5.24 # make deinstall ===> Deinstalling for perl5.24 ===> perl5.24 not installed, skipping But according to pkg info it is installed: root at gw2:/usr/ports/lang/perl5.24 # pkg info perl5 perl5-5.24.1.r4_1 Name : perl5 Version : 5.24.1.r4_1 Installed on : Thu Jan 12 12:51:03 2017 CET Origin : lang/perl5.24 This sees to be a bit strange. (*) I have now removed the package using pkg delete -f -n perl5-5.24.1.r4_1 and was then able to install from ports without problems: root at gw2:/usr/ports/lang/perl5.24 # pkg info perl5.24-5.24.1.r5_1 perl5.24-5.24.1.r5_1 Name : perl5.24 Version : 5.24.1.r5_1 Installed on : Thu Jan 12 17:53:45 2017 CET Origin : lang/perl5.24 Any ideas what happened here? I?m not sure if this is expected behaviour. Many thanks and best regards, Holger __________________________________________________________ Holger Kipp Diplom-Mathematiker Senior Consultant Tel. : +49 30 436 58 114 Fax. : +49 30 436 58 214 Mobil: +49 178 36 58 114 Email: holger.kipp at alogis.com alogis AG Alt-Moabit 90b D-10559 Berlin http://www.alogis.com __________________________________________________________ alogis AG Sitz/Registergericht: Berlin/AG Charlottenburg, HRB 71484 Vorstand: Arne Friedrichs, Joern Samuelson Aufsichtsratsvorsitzender: Reinhard Mielke
On 2017/01/13 15:43, Holger Kipp wrote:> so currently via pkg upgrade I got perl5-5.24.1.r4_1, which perl itself confirms:^^^^^> ===> Installing for perl5.24-5.24.1.r5_1^^^^^^^^ Notice the difference in package names. One is calling itself 'perl5' and the other 'perl5.24' which means pkg(8) thinks they are completely different packages. This is why compiling from ports can't delete the version you installed as a pkg. The reason for the different names is because in one case, that port was designated the default perl version when the package was built, and in the other case it wasn't. 5.24 is currently the default version of perl in the FreeBSD package build cluster, as of the beginning of this month for the latest quarterly branch. Check your /etc/make.conf or similar -- do you have a DEFAULT_VERSIONS setting for perl? You should use something like: DEFAULT_VERSIONS+= perl5=5.24 which will at least make the pkg cluster and your own-build packages agree on the package name. Cheers, Matthew -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 972 bytes Desc: OpenPGP digital signature URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20170113/2c29f642/attachment.sig>
On Fri, 13 Jan 2017 15:43:41 +0000 Holger Kipp <Holger.Kipp at alogis.com> wrote> Dear all, > > I upgraded Perl to 5.24(1.r4_1) (via pkg upgrade). > When I now try to install the latest version from ports (1.r5_1), the system > can?t install the new version because of the older version, but can?t > deinstall(*) the older version (eg. via make deinstall && make reinstall). > > > > root at gw2:/usr/ports/lang/perl5.24 # pkg info | grep perl > p5-Data-Dumper-2.161 Stringified perl data structures, suitable for > both printing and eval p5-Pg-2.1.1_4,1 Interface for using > perl5 to access PostgreSQL databases p5-Scalar-List-Utils-1.45,1 Perl > subroutines that would be nice to have in the perl core perl5-5.24.1.r4_1 > Practical Extraction and Report Language > > so currently via pkg upgrade I got perl5-5.24.1.r4_1, which perl itself > confirms: root at gw2:/usr/ports/lang/perl5.24 # perl -v > > This is perl 5, version 24, subversion 1 (v5.24.1) built for > amd64-freebsd-thread-multi (with 1 registered patch, see perl -V for more > detail) > > This is then obviously the version from FreeBSD repository. > > If I try to install the latest version from ports (perl5-5.24.1.r5_1), I get > the following (make install just to get the messages): > > > root at gw2:/usr/ports/lang/perl5.24 # make install > ===> Installing for perl5.24-5.24.1.r5_1 > ===> Checking if perl5.24 already installed > ===> Registering installation for perl5.24-5.24.1.r5_1 > Installing perl5.24-5.24.1.r5_1... > pkg-static: perl5.24-5.24.1.r5_1 conflicts with perl5-5.24.1.r4_1 (installs > files into the same place). Problematic file: /usr/local/bin/perl5.24.1 > *** Error code 70 > > Stop. > make[1]: stopped in /usr/ports/lang/perl5.24 > *** Error code 1 > > Stop. > make: stopped in /usr/ports/lang/perl5.24 > > > Deinstalling the existing version does not work: > > root at gw2:/usr/ports/lang/perl5.24 # make deinstall > ===> Deinstalling for perl5.24 > ===> perl5.24 not installed, skipping > > But according to pkg info it is installed: > > root at gw2:/usr/ports/lang/perl5.24 # pkg info perl5 > perl5-5.24.1.r4_1 > Name : perl5 > Version : 5.24.1.r4_1 > Installed on : Thu Jan 12 12:51:03 2017 CET > Origin : lang/perl5.24 > > > This sees to be a bit strange. > > (*) I have now removed the package using pkg delete -f -n perl5-5.24.1.r4_1 > and was then able to install from ports without problems: > > root at gw2:/usr/ports/lang/perl5.24 # pkg info perl5.24-5.24.1.r5_1 > perl5.24-5.24.1.r5_1 > Name : perl5.24 > Version : 5.24.1.r5_1 > Installed on : Thu Jan 12 17:53:45 2017 CET > Origin : lang/perl5.24 > > > Any ideas what happened here? I?m not sure if this is expected behaviour. > > Many thanks and best regards, > HolgerAs a general rule: install from pkg(8) remove with pkg(8) install from ports(7), remove with ports(7) That said; I didn't notice any evidence of which version of FreeBSD, you're running (uname -a) -- It's important where Perl is concerned. How about make.conf(5)? Anything interesting in there; DEFAULT_VERSIONS+or WITH_PKGNG HTH --Chris