# Ports Won't Upgrade



## wmichaelb (Feb 23, 2011)

After installing Gnome on 8.1, I proceeded to update the ports:


```
cvsup -L2 /root/ports-supfile
cd /usr/ports
make index
portupgrade -arR
```

and what I get after portupgrade is this:


```
** Listing the failed packages (- : ignored / * : skipped / ! : failed)
	! sysutils/lsof (lsof-4.84A,5)	(unknown build error)
	* ports-mgmt/packagekit (PackageKit-0.6.3_1)
	! x11-toolkits/gtk20 (gtk-2.20.1_2)	(configure error)
	* graphics/poppler-gtk (poppler-gtk-0.12.4_1)
	* devel/libnotify (libnotify-0.4.5_4)
	* x11-toolkits/unique (unique-1.1.6_1)
	* x11-toolkits/gtkmm24 (gtkmm-2.20.3_1)
	* x11-toolkits/vte (vte-0.24.1)
	* devel/gconf2 (gconf2-2.28.1_1)
	* graphics/libgnomecanvas (libgnomecanvas-2.30.1_1)
	* graphics/clutter (clutter-1.2.8_1)
	* www/libxul (libxul-1.9.0.17_2)
	* x11-toolkits/libwnck (libwnck-2.30.0_1)
	* x11-themes/gtk-engines2 (gtk-engines2-2.20.1_1)
	* devel/gconf2 (gir-repository-gconf2-0.6.5_4)
	* x11/libgnomekbd (libgnomekbd-2.30.1_1)
	* net/gnome-nettool (gnome-nettool-2.30.0_1,1)
	* math/gcalctool (gcalctool-5.30.1_1,2)
	* x11/zenity (zenity-2.30.0_1)
	* accessibility/at-spi2-atk (at-spi2-atk-0.1.8_1)
	* x11-toolkits/gtksourceview2 (gtksourceview2-2.10.3)
	* net-im/telepathy-mission-control (telepathy-mission-control-5.3.2)
	* x11-toolkits/py-gtk2 (py26-gtk-2.17.0_4)
	* multimedia/py-gstreamer (py26-gstreamer-0.10.18)
	* devel/gnome-vfs (gnome-vfs-2.24.3_1)
	* graphics/clutter-gtk (clutter-gtk-0.10.4_1)
	* x11/xscreensaver-gnome-hacks (xscreensaver-gnome-hacks-5.10_2)
	* net/avahi-gtk (avahi-gtk-0.6.25_3)
	* devel/gstreamer-plugins-gconf (gstreamer-plugins-gconf-0.10.23,3)
	* sysutils/polkit-gnome (polkit-gnome-0.96_4)
	* devel/libgsf (libgsf-1.14.18_1)
	* x11/yelp (yelp-2.30.1_1)
	* accessibility/at-spi (at-spi-1.30.1_1)
	* graphics/librsvg2 (librsvg2-2.26.3_1)
	* x11/gnome-desktop (gnome-desktop-2.30.0)
	* security/libgnome-keyring (libgnome-keyring-2.30.1_1)
	* accessibility/gnome-mag (gnome-mag-0.16.1_1)
	* deskutils/gucharmap (gucharmap-2.30.1_1)
	* security/gnome-keyring (gnome-keyring-2.30.1_2)
	* sysutils/gnome-mount (gnome-mount-0.8_6)
	* devel/libsoup (libsoup-2.30.1_1)
	* devel/libsoup (gir-repository-libsoup-0.6.5_4)
	* devel/gstreamer-plugins-soup (gstreamer-plugins-soup-0.10.23,3)
	* editors/gedit (gedit-2.30.2_1)
	* www/webkit-gtk2 (webkit-gtk2-1.2.1_1)
	* security/seahorse (seahorse-2.30.1_1)
	* net-im/telepathy-gabble (telepathy-gabble-0.8.13)
	* devel/seed (seed-2.30.0_2)
	* multimedia/totem-pl-parser (totem-pl-parser-2.30.1_1)
	* devel/libgdata (libgdata-0.6.4_1)
	* x11/gnome-screensaver (gnome-screensaver-2.30.0_1)
	! multimedia/webcamd (webcamd-0.1.14)	(unknown build error)
	* multimedia/gstreamer-plugins-v4l2 (gstreamer-plugins-v4l2-0.10.23,3)
	* multimedia/swfdec-gnome (swfdec-gnome-2.30.0_1)
	* net-im/farsight2 (farsight2-0.0.19_1)
	* net-im/telepathy-farsight (telepathy-farsight-0.0.13_2)
	* misc/gnome-icon-theme (gnome-icon-theme-2.30.3)
	* x11-toolkits/libgnomeprintui (libgnomeprintui-2.18.5_1)
	* net/libgweather (libgweather-2.30.0_1)
	* sysutils/gnome-system-monitor (gnome-system-monitor-2.28.1_1)
	* www/gtkhtml3 (gtkhtml3-3.30.1_1)
	* graphics/eog (eog-2.30.1_1)
	* databases/evolution-data-server (evolution-data-server-2.30.1_2)
	* audio/pulseaudio (pulseaudio-0.9.21_4)
	* audio/libcanberra (libcanberra-0.24_1)
	* sysutils/gnome-settings-daemon (gnome-settings-daemon-2.30.1_1)
	* multimedia/cheese (cheese-2.30.1_3)
	* devel/bug-buddy (bug-buddy-2.30.0_1)
	* devel/gvfs (gvfs-1.6.2_1)
	* x11/gnome-session (gnome-session-2.30.0_1)
	* ports-mgmt/gnome-packagekit (gnome-packagekit-2.30.0_1)
	* x11-fm/nautilus (nautilus-2.30.1_1)
	* sysutils/brasero (brasero-2.30.1_1)
	* x11/libgnome (libgnome-2.30.0_1)
	* x11/gnome-terminal (gnome-terminal-2.30.1_1)
	* deskutils/nautilus-sendto (nautilus-sendto-2.28.4_2)
	* x11-wm/metacity (metacity-2.30.1_1)
	* sysutils/gnome-control-center (gnome-control-center-2.30.1_1)
	* x11-toolkits/libbonoboui (libbonoboui-2.24.3_1)
	* archivers/file-roller (file-roller-2.30.1.1_1,1)
	* x11/gnome-panel (gnome-panel-2.30.0_1)
	* x11-toolkits/libgnomeui (libgnomeui-2.24.3_1)
	* x11-toolkits/libgail-gnome (libgail-gnome-1.20.2)
	* deskutils/gnome-utils (gnome-utils-2.30.0_1,1)
	* accessibility/gok (gok-2.30.0_1,1)
	* net/vinagre (vinagre-2.30.1_1)
	* x11-toolkits/py-gnome2 (py26-gnome-2.28.1_1)
	* security/seahorse-plugins (seahorse-plugins-2.30.1_1)
	* sysutils/gconf-editor (gconf-editor-2.30.0_1,1)
	* graphics/py-clutter (py26-clutter-1.0.2_1)
	* graphics/libchamplain (libchamplain-0.4.6_1)
	* net/vino (vino-2.28.2_1)
	* graphics/evince (evince-2.30.1_2)
	* multimedia/totem (totem-2.30.2)
	* x11-themes/gnome-themes (gnome-themes-2.30.1_1)
	* www/firefox (firefox-3.6.4,1)
	* sysutils/gnome-power-manager (gnome-power-manager-2.30.1_1)
	* www/evolution-webcal (evolution-webcal-2.28.1_1)
	* net/gnome-netstatus (gnome-netstatus-2.28.1_1)
	* www/gnome-user-share (gnome-user-share-2.30.0_2)
	* sysutils/gnome-system-tools (gnome-system-tools-2.30.1_1)
	* accessibility/mousetweaks (mousetweaks-2.30.1_1)
	* x11/gdm (gdm-2.30.2_1)
	* deskutils/notification-daemon (notification-daemon-0.4.0_6)
	* audio/gnome-media (gnome-media-2.30.0_1)
	* www/epiphany (epiphany-2.30.2_1)
	* audio/sound-juicer (sound-juicer-2.28.2_1)
	* mail/evolution (evolution-2.30.1.2_3)
	* mail/evolution-mapi (evolution-mapi-0.30.1_1)
	* mail/evolution-exchange (evolution-exchange-2.30.1_1)
	* x11-toolkits/py-gnome-desktop (py26-gnome-desktop-2.30.0_2)
	* deskutils/hamster-applet (hamster-applet-2.30.1_2)
	* deskutils/alacarte (alacarte-0.13.1_1)
	* x11/gnome-applets (gnome-applets-2.30.0_2)
	* deskutils/deskbar-applet (deskbar-applet-2.30.1_1)
	* accessibility/orca (orca-2.30.1_1)
```

So I started down the list:


```
pkg_add -r gconf2-2.28.1_1
Error: Unable to get [url]ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/gconf2-2.28.1_1.tbz:[/url] File unavailable 
(e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/gconf2-2.28.1_1.tbz' by URL
```

The noted files all seem Gnome related. Is the Gnome2 install that broken or incomplete? Is there a way to get these packages that I'm missing?

Thanks again in advance. You folks have been the best.


----------



## gkontos (Feb 23, 2011)

1) First of all, use portsnap to sync your portstree. Don't use cvsup. Just an advise.

2) Don't confuse ports with packages.

3)And probably most important. Make sure your box can access the internet.


----------



## jnbek (Feb 23, 2011)

I usually will start with the ports that fail to build (prefixed with a !) sometimes, they just don't download, or something weird happens and the build just fails. Usually just 

```
portupgrade gtk20
```
is will do the trick. I like to do each ! failure one at a time. To see if it's going to fail or not, and where/why it fails, though very very rarely have they failed. Once you get all the ! prefixed failures done, you can do a rereun the portupgrade to get the rest taken care of. Since gtk20 was listed as a ! failure, I'm going to bet that's why all the gnome ports were ignored.


----------



## wblock@ (Feb 24, 2011)

It is critically important to follow /usr/ports/UPDATING.  Some upgrades require special steps, and UPDATING describes that.  Skipping them just leads to problems.  Some of those upgrades need to be done before others will work.

Using -a with portupgrade or portmaster is not guaranteed to work, and many of us avoid it.  Also, -arR, or "pirate mode", is equivalent to -a.

Article: Upgrading FreeBSD Ports


----------



## wmichaelb (Feb 24, 2011)

*Ports Won't Upgrade - One More ?*

wblock: thank you; your article is more detailed than the handbook, or any other reference I've found. I'll digest this material for a while before attempting the updates.

For future reference, IYHO, would it make more sense to upgrade immediately after installing FreeBSD, but before installing Gnome2 and building the rest of the desktop? Would it make more sense to install Gnome from pkg_add, or from source? My machine is a standard 2.4 GHz Dell P4, 1 GB/160 GB. 

Also, Gnome has a software update program (System/Administration/Software Update) that keeps flagging me with an icon on the top panel, but which per an error message, for some reason cannot download the information it needs to proceed. Where does this package fit into the scheme of things? Is it a fourth approach, after cvsup, portsnap, and portmaster? Or is it based on one of the above?

gkontos: I did run the portsnap procedure, but wblock's article points out some other issues. I understand better now how the process works: first update the list, then identify the update candidates, and finally upgrade - one package at a time!

jnbek: I will try the one-pkg-at-a-time process after digesting the above, thank you.

Thanks to all of you for your patient attention.


----------



## wblock@ (Feb 24, 2011)

wmichaelb said:
			
		

> For future reference, IYHO, would it make more sense to upgrade immediately after installing FreeBSD, but before installing Gnome2 and building the rest of the desktop?



Yes.  A fresh install gets the ports tree as it was at the time of that release, so it's increasingly outdated.  Updating the ports tree before you install any ports makes it much easier.



> Would it make more sense to install Gnome from pkg_add, or from source? My machine is a standard 2.4 GHz Dell P4, 1 GB/160 GB.



I generally use ports even on slow machines.  Packages are less flexible and often less current.



> Also, Gnome has a software update program (System/Administration/Software Update) that keeps flagging me with an icon on the top panel, but which per an error message, for some reason cannot download the information it needs to proceed.



Maybe it's appalled to find itself on a non-Linux system.  Can't suggest more, not being a full Gnome user (usually xfce).


----------



## SirDice (Feb 24, 2011)

wblock said:
			
		

> I generally use ports even on slow machines.  Packages are less flexible and often less current.


Just build your own packages on a fast machine and transfer them to the slow one.


----------



## jnbek (Feb 24, 2011)

yes, I apologize, reading /usr/ports/UPDATING is crucial when preparing to run an upgrade.


----------



## gkontos (Feb 24, 2011)

@wmichaelb, have a look at portmaster as well. While relatively new, it is much faster and more reliable than portupgrade.
Once you get your portstree ready:

[CMD=""]# portsnap fetch update[/CMD]

a simple

[CMD=""]#portmaster -a[/CMD]

would do the job. Don't forget to read them man pages as well.

George


----------



## wblock@ (Feb 24, 2011)

Using both portupgrade and portmaster, overall I'd say they're about the same speed.  portmaster doesn't need to update a database, but sometimes rebuilds the same port more than once.  portmaster fails more gracefully, showing a command line to pick up where it stopped.

-a is mentioned above and in the article.


----------



## wmichaelb (Feb 25, 2011)

So to pursue this further, since there is no data at risk on this machine yet, would one be better off installing the new 8.2 release? Would that require fewer updates than 8.1?

Thanks again to all; this is a great thread!


----------



## wblock@ (Feb 25, 2011)

wmichaelb said:
			
		

> So to pursue this further, since there is no data at risk on this machine yet, would one be better off installing the new 8.2 release? Would that require fewer updates than 8.1?



It doesn't really depend on the release, but on the age of the ports tree (/usr/ports) on that system.

So you install 8.1-RELEASE, and you also install the ports tree that came with the install CD.  That would have been the version as of about July, 2010.  Then you install a bunch of ports.  Then you update the ports tree with portsnap, and now you can see a lot of that stuff was outdated when you installed it.

The easier way is to do the FreeBSD install, and immediately use portsnap to update the ports tree.  Then install applications, and they will be the most current versions.

There are lots of reasons to go to 8.2, but all you need for an updated ports tree is portsnap.

Even if you do install 8.2, the first thing you do afterward should still be to run portsnap.  Ports are frozen during a release.  There's a flood of updates that happens immediately after the release.


----------

