Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jun 2009 21:12:17 -0500 (CDT)
From:      Scott Bennett <bennett@cs.niu.edu>
To:        dougb@FreeBSD.org, freebsd-ports@freebsd.org
Subject:   Re: [REPOST] problem upgrading perl
Message-ID:  <200906230212.n5N2CHfB012467@mp.cs.niu.edu>

next in thread | raw e-mail | index | archive | help
     On Thu, 18 Jun 2009 11:42:51 -0700 Doug Barton <dougb@FreeBSD.org>
wrote:
>Jim Trigg wrote:
>> Actually, he was suggesting changing from perl\* to perl-\* so it would
>> only match the perl port. 
>
>FYI, the \* at the end is not needed, 'portmaster perl-' will work
>just fine.
>
>> Unfortunately, that won't work as there is at
>> least one other port that will match that -- net/p5-perl-ldap (portname
>> perl-ldap). 
>
>It's generally a good idea to check your facts before posting to the
>list. Since the glob code goes by the directory names in /var/db/pkg,
>and since the prefix will be there in the directory name, this won't
>be an issue.
>
>In any case, I updated the instructions for this, and the other
>portmaster examples in /usr/ports/UPDATING a couple days ago so
>hopefully no one else will stumble over this.
>
     Thank you for doing that.  Unfortunately, it might have been more
appropriate to have simply replaced that note with another that cautions
anyone attempting the perl upgrade that the upgrade has not been fully
tested against all ports that may list the new perl as a build dependency.
It should also warn that portmaster is *NOT* a good tool to use for this
upgrade, even if the note shows how to attempt it.
     Using the specific port name for perl when restarting the upgrade
process, I was able to resume for a short time.  However, portmaster has
two design problems that apply here.  The first is that if portmaster
encounters a port that fails to build properly, it stops cold, rather than
continuing to build other ports that do build correctly, summarizing the
build errors at the end.  This means that each time an error occurs, it
requires a manual restart (after the error has been corrected) that will
run only until the next error is encountered.
     The second design problem is that the -R option, which is supposed to
avoid rebuilding ports that have already been successfully rebuilt,
nevertheless rebuilds the specified dependency port--in this case,
perl-threaded-5.10.0_3--*every single time* without checking to see whether
it was already successfully built.  This is terribly time-consuming and
wasteful.  One might argue that the command says to rebuild the port
specified, but there really needs to be some way to tell it not to do so.
     Back to the problems with the builds...a half dozen or more port
rebuild failures were correctable by simply entering the failed port's
directory, doing a "make deinstall && make reinstall", and then returning
to restart (again) portmaster, which then, of course, began by rebuilding
perl another time (sigh).  Full testing of the perl upgrade should have
made this process unnecessary, it seems to me.
     Eventually, though, I encountered a problem with a port called
misc/gnome-icon-theme-2.26.0_1.  (I do not use and haven't knowingly
installed gnome, so I really don't know why this port was installed in
the first place.  OTOH, I also have a strong suspicion that it can't simply
be eliminated either.)  The rebuilding of this port aborted thusly:

===>  Installing for gnome-icon-theme-2.26.0_1
===>   Generating temporary packing list
===>  Checking if misc/gnome-icon-theme already installed
Making install in 8x8
gmake[1]: Entering directory `/usr/ports/misc/gnome-icon-theme/work/gnome-icon-theme-2.26.0/8x8'
Making install in emblems
gmake[2]: Entering directory `/usr/ports/misc/gnome-icon-theme/work/gnome-icon-theme-2.26.0/8x8/emblems'
gmake[3]: Entering directory `/usr/ports/misc/gnome-icon-theme/work/gnome-icon-theme-2.26.0/8x8/emblems'
gmake[3]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/share/icons/gnome/8x8/emblems" || ../.././install-sh -c -d "/usr/local/share/icons/gnome/8x8/emblems"
 install  -o root -g wheel -m 444 'emblem-default.png' '/usr/local/share/icons/gnome/8x8/emblems/emblem-default.png'
 install  -o root -g wheel -m 444 'emblem-new.png' '/usr/local/share/icons/gnome/8x8/emblems/emblem-new.png'
 install  -o root -g wheel -m 444 'emblem-readonly.png' '/usr/local/share/icons/gnome/8x8/emblems/emblem-readonly.png'
 install  -o root -g wheel -m 444 'emblem-symbolic-link.png' '/usr/local/share/icons/gnome/8x8/emblems/emblem-symbolic-link.png'
 install  -o root -g wheel -m 444 'emblem-unreadable.png' '/usr/local/share/icons/gnome/8x8/emblems/emblem-unreadable.png'
(cd /usr/local/share/icons/gnome/8x8 && /usr/local/libexec/icon-name-mapping -c emblems)
Can't locate XML/Simple.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.0/BSDPAN /usr/local/lib/perl5/site_perl/5.10.0/mach /usr/local/lib/perl5/site_perl/5.10.0 /usr/local/lib/perl5/5.10.0/mach /usr/local/lib/perl5/5.10.0 .) at /usr/local/libexec/icon-name-mapping line 12.
BEGIN failed--compilation aborted at /usr/local/libexec/icon-name-mapping line 12.
gmake[3]: *** [install-data-local] Error 2
gmake[3]: Leaving directory `/usr/ports/misc/gnome-icon-theme/work/gnome-icon-theme-2.26.0/8x8/emblems'
gmake[2]: *** [install-am] Error 2
gmake[2]: Leaving directory `/usr/ports/misc/gnome-icon-theme/work/gnome-icon-theme-2.26.0/8x8/emblems'
gmake[1]: *** [install-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/misc/gnome-icon-theme/work/gnome-icon-theme-2.26.0/8x8'
gmake: *** [install-recursive] Error 1
*** Error code 2

Stop in /usr/ports/misc/gnome-icon-theme.

===>>> A backup package for gnome-icon-theme-2.26.0_1 should
       be located in /usr/ports/packages/portmaster-backup

===>>> Installation of gnome-icon-theme-2.26.0_1 (misc/gnome-icon-theme) failed
===>>> Aborting update

===>>> Update for gnome-icon-theme-2.26.0_1 failed
===>>> Aborting update

===>>> The following actions were performed:
	Re-installation of perl-threaded-5.10.0_3
	Re-installation of gnome-desktop-2.26.2_1

hellas# dirs
/usr/ports ~ 

     If someone can tell me how to proceed from here, I'll give it another
try.  However, once again the ports subsystem is testing my tolerance for
frustration, so if there's no real hope of completing the entire rebuilding
process for ports with build dependencies upon perl, please let me know, so
I can try to undo what I've done so far and return to the old perl.
     Thanks in advance for any help.  Again, please copy me in on responses
to avoid a delay of up to a day for the next list digest to reach me.


                                  Scott Bennett, Comm. ASMELG, CFIAG
**********************************************************************
* Internet:       bennett at cs.niu.edu                              *
*--------------------------------------------------------------------*
* "A well regulated and disciplined militia, is at all times a good  *
* objection to the introduction of that bane of all free governments *
* -- a standing army."                                               *
*    -- Gov. John Hancock, New York Journal, 28 January 1790         *
**********************************************************************



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906230212.n5N2CHfB012467>