[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 Mon, Feb 24, 2003 at 02:36:21PM -0500, Faheem Mitha wrote:
> 
> 
> 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?

Well, ocamltk, which was once a standalone package is now part of ocaml.
That is why ocaml provides it. It is standard practice, and should not
cause any problem.

> > 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

Ok, this is what i did expect.

> 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

Mmm, strange ...

> 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

I didn't think it could use the deb-src to get the dependencies.
Strange.

> > 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

Yes, did find this also.

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

Normal, since it was integrated in ocaml since ocaml 3.06.

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

Maybe, ... That said, i don't know if using multiple repository sources
like this enters in the supported apt specifications.

> 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.

8 days or so, but it may take (a lot) longer, depending on how the
dependencies are built.

> 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?

Yes, this sound reasonable, i think it is along the lines of apt not
being able to separate the infos of the same package comiong from
multiple sources. What do the apt people think about it ?

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

No problem,

Friendly,

Sven Luther



Reply to: