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>