Problem upgrading (perl)

Hi,

I have come upon some problems with upgrading my system... It seems like the problem is in perl modules - I have installed some through cpan and some manually.

Code:
[root@server ~]# portupgrade -ai
--->  Session started at: Mon, 02 Feb 2009 11:42:42 +0100
--->  Skipping 'bsdpan-Time-Format-1.09' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 1 ignored, 0 skipped and 0 failed
--->  Skipping 'bsdpan-Net-Traceroute-PurePerl-0.10' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 2 ignored, 0 skipped and 0 failed
--->  Skipping 'bsdpan-B-Debug-1.11' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 3 ignored, 0 skipped and 0 failed
--->  Skipping 'textproc/p5-XML-NamespaceSupport' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 4 ignored, 0 skipped and 0 failed
--->  Skipping 'devel/p5-Test-Harness' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 5 ignored, 0 skipped and 0 failed
--->  Skipping 'bsdpan-Pod-Perldoc-3.15' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 6 ignored, 0 skipped and 0 failed
--->  Skipping 'textproc/p5-Pod-Simple' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 7 ignored, 0 skipped and 0 failed
--->  Skipping 'bsdpan-autodie-1.998' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 8 ignored, 0 skipped and 0 failed
--->  Skipping 'textproc/p5-Text-Balanced' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 9 ignored, 0 skipped and 0 failed
--->  Skipping 'bsdpan-libwww-perl-5.823' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 10 ignored, 0 skipped and 0 failed
--->  Skipping 'devel/p5-Devel-Symdump' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 11 ignored, 0 skipped and 0 failed
--->  Skipping 'lang/p5-Switch' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 12 ignored, 0 skipped and 0 failed
--->  Skipping 'devel/p5-Time-HiRes' because it is held by user (specify -f to force)
--->  ** Upgrade tasks 13: 0 done, 13 ignored, 0 skipped and 0 failed
--->  Listing the results (+:done / -:ignored / *:skipped / !:failed)
	-  (bsdpan-Time-Format-1.09)
	-  (bsdpan-Net-Traceroute-PurePerl-0.10)
	-  (bsdpan-B-Debug-1.11)
	- textproc/p5-XML-NamespaceSupport (bsdpan-XML-NamespaceSupport-1.09)
	- devel/p5-Test-Harness (bsdpan-Test-Harness-3.14)
	-  (bsdpan-Pod-Perldoc-3.15)
	- textproc/p5-Pod-Simple (bsdpan-Pod-Simple-3.07)
	-  (bsdpan-autodie-1.998)
	- textproc/p5-Text-Balanced (bsdpan-Text-Balanced-undef)
	-  (bsdpan-libwww-perl-5.823)
	- devel/p5-Devel-Symdump (bsdpan-Devel-Symdump-2.08)
	- lang/p5-Switch (bsdpan-Switch-2.14)
	- devel/p5-Time-HiRes (bsdpan-Time-HiRes-1.9719)
--->  Packages processed: 0 done, 13 ignored, 0 skipped and 0 failed
--->  Session ended at: Mon, 02 Feb 2009 11:42:57 +0100 (consumed 00:00:14)
[root@server ~]#

Code:
[root@server ~]# cpan
Can't locate AutoLoader.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local
/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 /root) at /usr/local/lib/perl5/5.8.9/mach/Sys
/Hostname.pm line 8.
Compilation failed in require at /usr/local/lib/perl5/5.8.9/CPAN.pm line 39.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/CPAN.pm line 39.
Compilation failed in require at /usr/local/bin/cpan line 175.
BEGIN failed--compilation aborted at /usr/local/bin/cpan line 175.
[root@server ~]#
 
I was just about to suggest that, but I can't find equivalents for most of the bsdpan modules in the ports tree. I think they must have changed name over time, or they were included in other (meta)ports.

I'd suggest trying a portupgrade -f on each and every of the skipped packages first, one by one. This should solve the non-bsdpan stuff.

After that, consider a pkg_delete -f on the remaing modules, followed by a pkgdb -F to restore lost dependencies.

As a last resort (i.e. if that doesn't produce a result), you could try a portupgrade -rRf perl-5.8.9 to rebuild the entire Perl infrastructure from scratch.
 
Hi,

well I tried to do portupgrade -fa but it failes with some errors... Also If I try to isntall it through portupgrade nothing happens, manuall build fails:
Code:
[root@server /usr/ports/lang/p5-Switch]# portupgrade -f p5-Switch
[root@server /usr/ports/lang/p5-Switch]# 
[root@server /usr/ports/lang/p5-Switch]# make deinstall
===>  Deinstalling for lang/p5-Switch
[root@server /usr/ports/lang/p5-Switch]# make install
===>   p5-Switch-2.14_1 depends on package: p5-Filter>0 - not found
===>    Verifying install for p5-Filter>0 in /usr/ports/devel/p5-Filter
===>  Building for p5-Filter-1.34
Can't locate AutoSplit.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local
/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) at /usr/local/lib/perl5/5.8.9/ExtUtils/Install.pm 
line 6.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/ExtUtils/Install.pm line 6.
Compilation failed in require.
BEGIN failed--compilation aborted.
*** Error code 2

Stop in /usr/ports/devel/p5-Filter/work/Filter-1.34.
*** Error code 1

Stop in /usr/ports/devel/p5-Filter.
*** Error code 1

Stop in /usr/ports/lang/p5-Switch.
[root@server /usr/ports/lang/p5-Switch]#

Otherwise I would like to remove all modules installed via cpan and reinstall them from ports as soon as I manage to solve this. :)
 
First try perl-after-upgrade, followed by portupgrade -f p5*. Then see if you can do what I suggested earlier. Your current perl infrastructure is out of sync with its modules. That has to be fixed first.
 
Hi,

well I removed all bsdpan-* modules (through pkg_delete) that were duplicated and were causing problems, I had to recompile the perl and then I ran portupgrade -f p5*. Now everything seems fine...

Thanks for support,
brm
 
I also have a question relating to problems upgrading perl.
After upgrading the ports tree I run portmaster perl and I get the following apparently endless loop

Code:
===>>> Waiting on fetch & checksum for lang/perl5.8 <<<===
BSDPAN-5.8.9.tar.bz2                                  8171  B   20 kBps
=> defined-or-5.8.9.bz2 doesn't seem to exist in /usr/ports/distfiles/perl.
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/skv/.
defined-or-5.8.9.bz2                                    35 kB   40 kBps
=> MD5 Checksum OK for perl/perl-5.8.9.tar.bz2.
=> SHA256 Checksum OK for perl/perl-5.8.9.tar.bz2.
=> MD5 Checksum OK for perl/BSDPAN-5.8.9.tar.bz2.
=> SHA256 Checksum OK for perl/BSDPAN-5.8.9.tar.bz2.
=> MD5 Checksum OK for perl/defined-or-5.8.9.bz2.
=> SHA256 Checksum OK for perl/defined-or-5.8.9.bz2.

this same text is repeated and repeated down the screen. I have tried to remove the distfiles and redo portmaster but nothing changes.
 
Though I normally use portupgrade, 'portmaster perl' produced no errors here. In other words: it started to build after the checksums were found to be OK. What does a 'make clean && make' in /usr/ports/lang/perl5.8 produce? If there are no errors (and you're running perl-5.8.x already), try 'make deinstall clean && make reinstall clean' from there. If that works, do 'perl-after-upgrade' and a forced upgrade of all p5* ports.
 
myha said:
Hi,

well I removed all bsdpan-* modules (through pkg_delete) that were duplicated and were causing problems, I had to recompile the perl and then I ran portupgrade -f p5*. Now everything seems fine...

Thanks for support,
brm

Don't forget to run a pkgdb -F to make sure that any missing CPAN Perl modules are replaced by their ports counterparts.
 
DutchDaemon said:
Though I normally use portupgrade, 'portmaster perl' produced no errors here. In other words: it started to build after the checksums were found to be OK. What does a 'make clean && make' in /usr/ports/lang/perl5.8 produce? If there are no errors (and you're running perl-5.8.x already), try 'make deinstall clean && make reinstall clean' from there. If that works, do 'perl-after-upgrade' and a forced upgrade of all p5* ports.

Thank you for your help, it seems like you have had to answer quite a few threads about perl upgrades lately. I am sorry that I had to be another person asking again, but I was worried about reinstalling perl outside of the comfort with portmaster. (Though I had no problems upgrading perl with portmaster on another almost identical computer, just to double check)

Anyhow.
So far it worked with no problems up to, and including, perl-after-upgrade.
Following the guide http://people.freebsd.org/~tobez/pau.html it says that you should use "pkgdb -F", from what I understand "pkgdb" is part of portupgrade. As I am using portmaster could I use "portmaster --check-depends" instead or should I install portupgrade?
 
oops(I'm sorry that I cannot find where to edit my posts)
from pkgdb(1):
Code:
Actually, pkgdb and pkg_which are the same command, and are equivalent.
 
These files are one and the same binary (their inodes match):

ls -ali /usr/local/sbin/pkg_which /usr/local/sbin/pkgdb
 
And yes, I guess portmaster --check-depends does the same thing as pkgdb -F as far as checking (severed) dependencies goes. I don't know whether portmaster presents you with a dialog to fix these dependencies on the fly, like pkgdb does.
 
Thanks I believe it is working now. It seems like you are the real "portmaster"!
I am sorry that this turned into another perl&portupgrade thread, but I thought portmaster was safer and less prone to fail.
 
You're welcome. Hope this thread benefits all who ran/run into Perl upgrade woes.
 
Can't get past this error... not compiling
Any ideas? Using 7.0-CURRENT FreeBSD

Code:
`Makefile' is up to date.
`DynaLoader.xs' is up to date.
rm -f libperl.so
cc -o libperl.so -shared  -L/usr/local/lib   gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o 
pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o 
numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  DynaLoader.o -lm -lcrypt -lutil
cc: DynaLoader.o: No such file or directory
*** Error code 1
touch uni.data
1 error
*** Error code 1

Stop in /usr/ports/lang/perl5.10.
*** Error code 1

Stop in /usr/ports/lang/perl5.10.
 
Ravage said:
Using 7.0-CURRENT FreeBSD
This is either a very old system, or you actually meant 8.0-CURRENT.

I see you're installing perl 5.10. Is 5.8 still installed?
 
result is always same trying portupgrading 5.9 or to 5.10
yea system is a lil old, but can't upgrade it, cause i'm out of country, if something breaks then... ehemmm
 
7.0-CURRENT went RELEASE quite a some time ago (feb. 2008), -STABLE is currently at 7.2 and -CURRENT is 8.0. Also there's no Perl 5.9. Please post the correct versions.

When trying to install perl, try removing the old one first.
 
oh my bad...
trying to portupgrade perl-5.8.9_2 to perl-5.8.9_3 or 5.10

Code:
cc -o libperl.so -shared  -L/usr/local/lib  gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o hv.o av.o perl.o run.o 
pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o 
numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  DynaLoader.o -lm -lcrypt -lutil
cc: DynaLoader.o: No such file or directory
*** Error code 1
touch uni.data
1 error
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20090618-87599-1oo2c6y-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=perl-
5.8.9_2 UPGRADE_PORT_VER=5.8.9_2 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! lang/perl5.8 (perl-5.8.9_2)   (unknown build error)
 
The failure is somewhere before that. Please post the entire output.
 
Ravage said:
oh my bad...
trying to portupgrade perl-5.8.9_2 to perl-5.8.9_3 or 5.10

Code:
cc -o libperl.so -shared  -L/usr/local/lib  gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o hv.o av.o perl.o run.o 
pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o 
numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  DynaLoader.o -lm -lcrypt -lutil
cc: DynaLoader.o: No such file or directory
*** Error code 1
touch uni.data
1 error
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20090618-87599-1oo2c6y-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=perl-
5.8.9_2 UPGRADE_PORT_VER=5.8.9_2 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! lang/perl5.8 (perl-5.8.9_2)   (unknown build error)

same problem here. on a 7.0 system.

Code:
cc -o libperl.so -shared  -L/usr/local/lib malloc.o gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o hv.o av.o 
perl.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o 
perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  DynaLoader.o -lm -lcrypt -lutil
cc: DynaLoader.o: No such file or directory
*** Error code 1
1 error
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade.28631.0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=perl-5.8.9_2 UPGRADE_PORT_VER=5.8.9_2 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! lang/perl5.8 (perl-5.8.9_2)	(unknown build error)

any solutions so far?
 
Back
Top