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

Bug#171542: please take a look at an ocaml-related apt bug (171542)




On Sun, 23 Feb 2003, Sven Luther wrote:

> On Sun, Feb 23, 2003 at 03:05:42PM -0500, Faheem Mitha wrote:
> >
> >
> > On Sun, 23 Feb 2003, Sven Luther wrote:
> >
> > > Mmm, it is ocaml which is depended, not ocaml-3.06. But then, i think
> > > maybe ocaml-3.06 would have been pulled in by one of the other
> > > dependencies, in particular libcamlimages-ocaml-dev comes to mind, could
> > > you check the dependencies of libcamlimages-ocaml-dev in
> > > snapshot.debian.net ? I guess you have to check them recursively, since
> > > libcamlimages-ocaml-dev  depends on libcamlimages-ocaml and
> > > liblablgtk-ocaml-dev which in turn depends on liblablgtk-ocaml and
> > > liblablgl-ocaml-dev, which in turn depends on liblablgl-ocaml.
> > >
> > > Anyway, if ocaml 3.04-14 (the woody version, testing has 3.04-12 only)
> > > got installed while apt searched for ocaml 3.06 due to one of the
> > > dependencies of the build dependencies, i guess it is a bug in apt.
> > >
> > > Could you see if this is the case or not, and also could you try
> > > removing the unstable source (or sumarize to me the result you already
> > > got). Alternatively, you could also try replacing your unstable source
> > > by http://people.debian.org/~luther/ocaml ./ and see what happens.
> >
> > Ok, I'll do the checking you asked, but also note that this bug is still
> > reproducible on a sarge system called laplace (not my home machine), with
> > unstable deb and deb-src sources.list lines held in check by
> > apt.preferences (see the original bug report for more details about
> > laplace, email with message id
> > <Pine.LNX.4.44.0301121529580.12975-100000@Chrestomanci> dated Sun, 12 Jan
> > 2003). This may not be the case much longer, once libc6 moves to sarge.
> >
> > You could most likely reproduce this yourself if you have a woody system
> > available.
> >
> > laplace:/usr/local/src/advi# apt-get build-dep -s advi
> > Reading Package Lists... Done
> > Building Dependency Tree... Done
> > The following NEW packages will be installed:
> >   libcamlimages-ocaml libcamlimages-ocaml-dev libungif4-dev ocaml
> > ocaml-base
> > 0 packages upgraded, 5 newly installed, 0 to remove and 0  not upgraded.
> > Inst ocaml-base (3.04-14 Debian:3.0r1a/stable)
> > Inst ocaml (3.04-14 Debian:3.0r1a/stable)
> > Inst libcamlimages-ocaml (2.10-2 Debian:testing)
> > Inst libungif4-dev (4.1.0b1-3 Debian:testing)
> > Inst libcamlimages-ocaml-dev (2.10-2 Debian:testing)
> > Conf ocaml-base (3.04-14 Debian:3.0r1a/stable)
> > Conf ocaml (3.04-14 Debian:3.0r1a/stable)
> > Conf libcamlimages-ocaml (2.10-2 Debian:testing)
> > Conf libungif4-dev (4.1.0b1-3 Debian:testing)
> > Conf libcamlimages-ocaml-dev (2.10-2 Debian:testing)
>
> Mmm, not sure, but i think i know what is happening, notice that advi
> 1.4.0-3 now has :
>
> Build-Depends: debhelper (>> 3.0.0), tetex-bin, ocaml-3.06-1,
> libncurses5-dev, xlibs-dev, libcamlimages-ocaml-dev, tetex-extra,
> zlib1g-dev, gs
>
> So, it will try to install ocaml-3.06-1 and will find it only on the
> unstable source, provided by an ocaml package which also provide
> ocamltk. When apt finds this, i think it believes that all the
> dependencies are fulfilled. It then proceeds to install ocaml, but finds
> the first ocaml package in stable (which has a greater version than the
> testing one) and installs that one.

Agreed, this looks like the problem. BTW, ocamltk does not appear to be a
virtual package, but you are treating it like a virtual package (using
provides).  Does this not cause any problems?

> Could you please remove the unstable sources, try again the exact same
> thing, and tell me about it. You would need to remove also the woody
> backbuild sources naturally.

This is again from laplace, which doesn't have any woody backport lines (I
assume you are referring to Stefano's ocaml packages). Now the unstable
deb and deb-src lines are commented out in sources.list.

laplace:/home/faheem# apt-get build-dep -s advi
Reading Package Lists... Done
Building Dependency Tree... Done
Package camlimages is a virtual package provided by:
  libcamlimages-ocaml-dev 2.10-2
You should explicitly select one to install.
The following NEW packages will be installed:
  libungif4-dev ocaml ocaml-base ocamltk
0 packages upgraded, 4 newly installed, 0 to remove and 8  not upgraded.
Inst libungif4-dev (4.1.0b1-3 Debian:testing)
Inst ocaml-base (3.04-14 Debian:3.0r1a/stable)
Inst ocaml (3.04-14 Debian:3.0r1a/stable)
Inst ocamltk (41.8-1 Debian:3.0r1a/stable, Debian:testing)
Conf libungif4-dev (4.1.0b1-3 Debian:testing)
Conf ocaml-base (3.04-14 Debian:3.0r1a/stable)
Conf ocaml (3.04-14 Debian:3.0r1a/stable)
Conf ocamltk (41.8-1 Debian:3.0r1a/stable, Debian:testing)
E: Package camlimages has no installation candidate

So, this time it tries to install ocamltk, presumably because it no longer
has access to an ocaml version that says it provides ocamltk.

Now, if I uncomment the deb lines, but keep the deb-src lines commented,
it does not try to get ocamltk.

laplace:/home/faheem# apt-get build-dep -s advi
Reading Package Lists... Done
Building Dependency Tree... Done
Package camlimages is a virtual package provided by:
  libcamlimages-ocaml-dev 2.10-2
You should explicitly select one to install.
The following NEW packages will be installed:
  libungif4-dev ocaml ocaml-base
0 packages upgraded, 3 newly installed, 0 to remove and 8  not upgraded.
Inst libungif4-dev (4.1.0b1-3 Debian:testing)
Inst ocaml-base (3.04-14 Debian:3.0r1a/stable)
Inst ocaml (3.04-14 Debian:3.0r1a/stable)
Conf libungif4-dev (4.1.0b1-3 Debian:testing)
Conf ocaml-base (3.04-14 Debian:3.0r1a/stable)
Conf ocaml (3.04-14 Debian:3.0r1a/stable)
E: Package camlimages has no installation candidate

So now, it is presumably getting build-depends information about the advi
testing version, which still has ocamltk as a build-dep. I suppose however
now it has access to the binary package information for ocaml 3.06-15
(unstable), which says it provides ocamltk, and that makes it happy.

Package: ocaml
Version: 3.06-15
Provides: camlp4, libcamltk-ocaml-dev, ocamltk, ocaml-3.06-1

> BTW, you could also check that ocamltk is still present in the testing
> or woody archive, a quick searches make me believe it is no more
> available there, that maybe when i asked for its removal from the
> unstable archive, it was also removed from testing and woody.

"apt-show-versions -a ocamltk" on my (just synced) home machine reports

ocamltk purge ok not-installed
ocamltk 41.8-1  stable
ocamltk 41.8-1  testing
No unstable version
ocamltk not installed: No available versions

So it is in woody and sarge, but not in sid.

So, are we agreed that the problem is an apt bug? Do you want me to do any
more checking?

BTW, apt 0.5.4.9 (put out for people to test) has had some fixes done for
build-dep. I guess it would be a good idea to compile this up and check if
it fixes this problem. I'll try to get to this in the next few days. Tell
me, how long do I have before libc6 enters testing? This problem will
presumably become unreproducible with the regular archives then, though I
suppose I could still use snapshot.debian.org.

If it is still reproducible, I'll retitle it. Something like "If some
version of package foo provides bar, apt assumes an earlier (possibly any
other) version of foo also provides bar (see discussion)". How does this
sound?

Otherwise, of course, I will close it. Thanks for your help.

                                                           Faheem.




Reply to: