pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make update failing with "a different version ... is already installed"



Andreas Gustafsson <gson%gson.org@localhost> writes:

> Hi all,
>
> When I try to update a package with "make update", more often than not
> it fails, complaining that one of the dependencies of the package has
> a different version already installed.  For example, I just tried to
> do a "make update" in /usr/pkgsrc/databases/pgadmin3, and got:
>
>   => Full dependency postgresql84-client>=8.4.8: NOT found
>   => Verifying package-install for ../../databases/postgresql84-client
>   => Bootstrap dependency digest>=20010302: found digest-20080510
>   ===> Checking for vulnerabilities in postgresql84-client-8.4.8
>   ===> Install binary package of postgresql84-client-8.4.8
>   pkg_add: A different version of postgresql84-client-8.4.8 is already
> installed: postgresql84-client-8.4.2nb1
>   pkg_add: 1 package addition failed
>   *** Error code 1
>
> What am I doing wrong?

Basically, if you don't update everything to consistent versions (from
the same time in pkgsrc), I think you're going to have trouble.

There seem to be two camps:

  A) use pkg_rolling-replace

  B) do a bulk build of some flavor (with pkg_chk to control it, perhaps)
  to get a consistent/pure set of binary packages for what you want, and
  then pkg_delete all the stuff that doesn't fit and install the new
  ones (perhaps via pkg_chk)


A is easier, but you can run into trouble when dependencies get moved
around.  For administering my own systems, I'm in the
pkg_rolling-replace camp.

B is harder, but it's basically always sound.   I do this when I have 50
systems and need really high reliability.


In your case, postgresql84-client was updated in pkgsrc but your system
wasn't updated, and there's a dependency on a specific version for some
reason.  I am not clear on whether this is a bug in make update (that it
didn't update postgresql84-client) - because I don't use make update
because of how it removes things and then might fail rebuilding them.

In your case, you could go into databases/postgresql84-client and 'make
replace', but I don't know how that left your 'make update'.


Attachment: pgpc43zLdC8Zr.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index