On Mon, Oct 20, 2003 at 11:06:40PM +0000, carmoda wrote: > I seem to get failures just about every time i try to install anything: > > in particular errors with dependant packages: > > "An older version of whatever/whatever is already installed..." > > now, on attempts to update any of these dependancy packages i break my > system... so. do i just accept i cannot update or run certain things, or > is there some trick t this i am missing...? > > please 'CC' me as i am on digest mode...
This is the main problem that portupgrade(1) solves: package dependency ordering. Generally what happens is that a port looks for, say, a particular version of a shared library. If you've got an older version of the shared library installed, the test to find the particular shared library will fail, and the ports system will try and re-install the dependent package. As you've discovered, trying to install a package on top of an older version of itself generates errors. The trick is to update the dependencies first, and then the ports that depend on them. It's also a good rule of thumb to take all your ports/packages from a consistent source: ie. always use the packages directory for your particular release from the FTP servers, or always install from a freshly cvsup(1)'d ports tree. That isn't a hard and fast rule, but it generally helps you to avoid this sort of version mismatch thing if you stick to it as closely as you can. Note that sometimes a port providing a particular shared library may have any number of dependents, and they can be broken by your updating the shared library. The gettext port seems to be a prime offender in this reguard, as witnessed by the regular floods of messages to this list about 'libintl.so.N not found'. portupgrade(1) gets around that shared library problem by keeping a copy of old version of shlibs in /usr/local/lib/compat/pkg and there will generally be a heads-up e-mail to [EMAIL PROTECTED] when some particularly important port gets updated. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK
Description: PGP signature