crufty old versions [was Re: (no subject)]
Ryan Schmidt
ryandesign at macports.org
Tue Jul 10 23:45:24 PDT 2007
On Jul 11, 2007, at 00:10, Chris Waterson wrote:
> On Jul 10, 2007, at 8:59 PM, Ryan Schmidt wrote:
>
>> I recommend you do the following (substituting any other port name
>> for "sqlite3" as desired):
>>
>> sudo port -u upgrade sqlite3
>>
>> If you encounter an error that says it's required for other ports,
>> then force the upgrade:
>>
>> sudo port -ufn upgrade sqlite3
>>
>> If other ports depend on sqlite3, then you need to force (-f) the
>> uninstall. However, then you'll also want the nonrecursive flag (-
>> n), else MacPorts will rebuild all of sqlite3's dependencies too,
>> possibly even multiple times, which is just a waste of your time.
>> The latter is a bug:
>>
>> http://trac.macosforge.org/projects/macports/ticket/10827
>>
>> Since you normally do want MacPorts to follow dependencies if
>> necessary, you should always first try just upgrading with -u, and
>> only if that fails, switch to -unf.
>>
>>
>> The fact that apr-util is listed five times in your output instead
>> of once is also a bug:
>>
>> http://trac.macosforge.org/projects/macports/ticket/8763
>
> Okay, thanks for the pointers.
>
> I did take a stab at "port -ufn upgrade", but that seemed to
> *still* not get rid of the dependency. As the below trace shows:
>
> 1. I can't uninstall gd2 @2.0.34_0 because gnuplot depends on it.
>
> 2. Rebuilding either gd2 or gnuplot does not clear the dependency.
>
> 3. But the dependency is (seems?) false, since I can "port
> uninstall -f gd2 @2.0.34_0" and gnuplot will still run. I suppose
> it's possible that gd2 is dlopen'd and gnuplot will fail splendidly
> later.
>
> Anyway, it seems like there might just be some issues with
> dependency tracking.
>
> Thanks for your help!
>
> chris
>
>
>
> ~$ sudo port uninstall gd2
> ---> The following versions of gd2 are currently installed:
> ---> gd2 @2.0.34_0
> ---> gd2 @2.0.35_0 (active)
> Error: port uninstall failed: Registry error: Please specify the
> full version as recorded in the port registry.
> ~$ sudo port uninstall gd2 @2.0.34_0
> ---> Unable to uninstall gd2 2.0.34_0, the following ports depend
> on it:
> ---> gnuplot
> Error: port uninstall failed: Please uninstall the ports that
> depend on gd2 first.
> ~$ sudo port -ufn upgrade gd2
> ---> Configuring gd2
> ---> Building gd2 with target all
> ---> Staging gd2 into destroot
> ---> Packaging tgz archive for gd2 2.0.35_0
> ---> Unable to uninstall gd2 2.0.35_0, the following ports depend
> on it:
> ---> gnuplot
> Warning: Uninstall forced. Proceeding despite dependencies.
> ---> Deactivating gd2 2.0.35_0
> ---> Uninstalling gd2 2.0.35_0
> ---> Installing gd2 2.0.35_0
> ---> Activating gd2 2.0.35_0
> ---> Cleaning gd2
> ~$ sudo port uninstall gd2
> ---> The following versions of gd2 are currently installed:
> ---> gd2 @2.0.34_0
> ---> gd2 @2.0.35_0 (active)
> Error: port uninstall failed: Registry error: Please specify the
> full version as recorded in the port registry.
> ~$ sudo port uninstall gd2 @2.0.34_0
> ---> Unable to uninstall gd2 2.0.34_0, the following ports depend
> on it:
> ---> gnuplot
> Error: port uninstall failed: Please uninstall the ports that
> depend on gd2 first.
> ~$ sudo port uninstall gnuplot
> ---> Unable to uninstall gnuplot 4.2.0_0, the following ports
> depend on it:
> ---> octave
> Error: port uninstall failed: Please uninstall the ports that
> depend on gnuplot first.
> ~$ sudo port -ufn upgrade gnuplot
> ---> Fetching gnuplot
> ---> Verifying checksum(s) for gnuplot
> ---> Extracting gnuplot
> ---> Applying patches to gnuplot
> ---> Configuring gnuplot
> ---> Building gnuplot with target all
> ---> Staging gnuplot into destroot
> ---> Packaging tgz archive for gnuplot 4.2.0_0
> ---> Unable to uninstall gnuplot 4.2.0_0, the following ports
> depend on it:
> ---> octave
> Warning: Uninstall forced. Proceeding despite dependencies.
> ---> Deactivating gnuplot 4.2.0_0
> ---> Uninstalling gnuplot 4.2.0_0
> ---> Installing gnuplot 4.2.0_0
> ---> Activating gnuplot 4.2.0_0
> ---> Cleaning gnuplot
> ~$ sudo port uninstall gd2 @2.0.34_0
> ---> Unable to uninstall gd2 2.0.34_0, the following ports depend
> on it:
> ---> gnuplot
> Error: port uninstall failed: Please uninstall the ports that
> depend on gd2 first.
> ~$ sudo port -f uninstall gd2 @2.0.34_0
> ---> Unable to uninstall gd2 2.0.34_0, the following ports depend
> on it:
> ---> gnuplot
> Warning: Uninstall forced. Proceeding despite dependencies.
> ---> Uninstalling gd2 2.0.34_0
> ~$ gnuplot
>
> G N U P L O T
> Version 4.2 patchlevel 0
> last modified March 2007
> System: Darwin 8.10.1
>
> Copyright (C) 1986 - 1993, 1998, 2004, 2007
> Thomas Williams, Colin Kelley and many others
>
> Type `help` to access the on-line reference manual.
> The gnuplot FAQ is available from
> http://www.gnuplot.info/faq/
>
> Send comments and help requests to <gnuplot-
> info at lists.sourceforge.net>
> Send bug reports and suggestions to <gnuplot-
> bugs at lists.sourceforge.net>
>
>
> Terminal type set to 'aqua'
> gnuplot> quit
> ~$
According to "port info gnuplot", it does require gd2. If you believe
it does not, you can take that up with Paul Guyot, the port's
maintainer.
But I think you are merely being confused by this message:
> ---> Unable to uninstall gd2 2.0.34_0, the following ports depend
> on it:
> ---> gnuplot
The message is only trying to say that gnuplot depends on gd2, but
not that it depends on a specific version of gd2. (MacPorts doesn't
even have a syntax to have a port depend on a specific version of
another port.)
You already have gd2 2.0.35_0 installed, so uninstalling 2.0.34
should be perfectly fine. Just force it:
$ sudo port -f uninstall gd2 @2.0.24_0
More information about the macports-users
mailing list