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

Re: [MirageOS-devel] [opam-devel] opam 1.1.1 and aspcud 1.9



For this specific bug,running "make tests" would have been enough (I just tested on my VM). For being defensive and having ./configure refuse newer version of dependencies, the m4 macros don't seem to provide version filtering (only API testing. Here the API was compatible, anyway that would have failed at build-time). Does ocamlfind even provide an easy way to get the version of a package?

 

But my feeling is that what happened really shouldn't happen -- I mean, a small, but API compatible change, that would cause the older version to break _but not the newer version, just by chance_, so that it could get unnoticed ? What are the odds of this happening _again_ ? ;)

 

On using the -full archive, that can be a good thing, but it probably won't go well with the Debian/Ubuntu policies. Really, packaging scripts should run "make tests"; not sure if it's worth preventing upgrades in ./configure -- although that at least gives the opportunity to fix ./configure (and hopefully check that nothing is broken) by hand.

 

Cheers,

Louis

 

> - Anil Madhavapeddy, 12/12/2014 15:32 -

> Excellent detective work all around -- thanks for helping to pin this down,

> Louis and Roberto. Ideally Ubuntu will just upgrade to OPAM 1.2 rather than

> just fix Dose

>

> Louis -- can we do anything in OPAM 1.2 to ensure that packagers don't get

> this mixed up in the future via a failing configure script, as David suggests?

> In OpenBSD, I elected to import the -full archive rather than piecemeal

> packaging of the libraries required to build OPAM.

>

> -anil

>

>

> > On 11 Dec 2014, at 13:56, Roberto Di Cosmo <roberto@xxxxxxxxxxx> wrote:

> >

> > Just for completeness, here is the info I can confirm after checking with

> > the Debian side:

> >

> > - in Debian Jessie and Sid, opam 1.2 is now correctly packaged together with

> > aspcud 1.9 and dose 3.3

> >

> > - unfortunately, the time-boxed development process of Ubuntu, with a release

> > in mid-October, ended in picking up an inconsistent set of versions of our

> > beloved packages from the Debian timeline; this is not something that only

> > happen to us, it is intrinsically related to these imperfectly aligned

> > processes, and I suppose the Ubuntu people will be quick to act on this,

> > as they are probably used to this kind of events

> >

> > --

> > Roberto

> >

> > On Thu, Dec 11, 2014 at 10:40:57AM +0900, Louis Gesbert wrote:

> >> It's indeed completely broken, that's bad news indeed.

> >>

> >> But I confirm my diagnostic: aspcud is not in cause, Dose is (well, or the dose interface in opam 1.1, not trying to put the blame on anyone). The problem happens even without aspcud installed.

> >>

> >> Here is the original report: https://github.com/ocaml/opam/issues/1683

> >>

> >> Opam build got broken between 1.1.1-1 (trusty) and 1.1.1-1build3 (utopic) because the dose version was upgraded from 3.1.3-7build1 to 3.2.2-2build1. It's very painful when everything types and compiles after an upgrade, but gets subtly broken :(

> >>

> >> I filed a bug at https://bugs.launchpad.net/ubuntu/+source/opam/+bug/1401346

> >> Hope they can act on it quickly...

> >>

> >> Thanks for notifying and helping trace this!

> >> Louis

> >>

> >>> - Anil Madhavapeddy, 10/12/2014 14:54 -

> >>> I just reproduced it by following the referenced bug report.

> >>>

> >>> From a fresh Ubuntu 14.10, if I do:

> >>>

> >>> $ sudo apt-get install opam camlp4-extra aspcud

> >>> $ opam init -a

> >>> $ opam install mirage -y

> >>> $ eval `opam config env`

> >>>

> >>> At this point some packages have been installed and mirage is installed.

> >>>

> >>> Now however, if I use mirage it invokes opam install again and packages

> >>> are reinstalled as a duplicate. See below:

> >>>

> >>> opam install --yes conduit cow cowabloga crunch cstruct io-page lwt mirage-clock-unix mirage-conduit mirage-console mirage-fs-unix mirage-http mirage-net-unix mirage-types mirage-unix tcpip vchan

> >>> [NOTE] Package mirage-types is already installed (current version is 2.1.0).

> >>> [NOTE] Package lwt is already installed (current version is 2.4.6).

> >>> [NOTE] Package io-page is already installed (current version is 1.1.1).

> >>> [NOTE] Package cstruct is already installed (current version is 1.4.0).

> >>> [NOTE] Package crunch is already installed (current version is 1.3.0).

> >>> [WARNING] mirage-unix.2.1.0 references unknown package mirage-profile

> >>> The following actions will be performed:

> >>> - install ocamlfind.1.5.5 [required by cowabloga, crunch, mirage-fs-unix, mirage-http]

> >>> - install base-no-ppx.base [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install camlp4.4.01.0 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install base-threads.base [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install base-bigarray.base [required by cowabloga]

> >>> - install base-unix.base [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install xmlm.1.2.0 [required by cowabloga]

> >>> - install uutf.0.9.3 [required by cowabloga]

> >>> - install stringext.1.1.0 [required by cowabloga, mirage-http]

> >>> - install ssl.0.4.7 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install re.1.2.2 [required by cowabloga, mirage-http]

> >>> - install ounit.2.0.0 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install hex.0.1.0 [required by cowabloga]

> >>> - install cmdliner.0.9.5 [required by cowabloga, crunch, mirage-http]

> >>> - install base64.1.0.0 [required by cowabloga, mirage-http]

> >>> - install base-bytes.legacy [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install ulex.1.1 [required by cowabloga]

> >>> - install type_conv.111.13.00 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install optcomp.1.6 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install omd.1.2.3 [required by cowabloga]

> >>> - install jsonm.0.9.1 [required by cowabloga]

> >>> - install lwt.2.4.6 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install crunch.1.3.0

> >>> - install sexplib.111.25.00 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install fieldslib.109.20.03 [required by cowabloga, mirage-http]

> >>> - install dyntype.0.9.0 [required by cowabloga]

> >>> - install ocplib-endian.0.7 [required by cowabloga, mirage-fs-unix, mirage-http]

> >>> - install uri.1.7.2 [required by cowabloga, mirage-http]

> >>>

> >>> I've not managed to narrow it down further to a smaller test case, but the OPAMDEBUG

> >>> gist is up at: https://gist.github.com/avsm/62e28b05e2b282ed5fbe

> >>>

> >>> Any inspiration from there from the CUDF interactions in the above gist?

> >>>

> >>> -anil

> >>>

> >>>> On 10 Dec 2014, at 01:15, Louis Gesbert <louis.gesbert@xxxxxxxxxxxx> wrote:

> >>>>

> >>>> I've been trying to reproduce the issue, but things seem fine, sort of:

> >>>>

> >>>> From what I could gather:

> >>>> * trusty (14.04LTS) has 1.1 and aspcud 1.8, it works fine

> >>>> * utopic (14.10, latest) has 1.1 and aspcud 1.9

> >>>> * vivid (15.04, unreleased) has OPAM 1.2, so it's ok. Recommends aspcud, too

> >>>>

> >>>> Note that there should be no conflict that I know of between OPAM 1.1 and aspcud 1.9 -- it's just that newer OPAM will benefit from the more advanced criteria offered. Where we have been hitting problems on Debian was by compiling with a different version of *Dose* [1] (which has a much less standardised interface).

> >>>>

> >>>> There is still a known issue, though, the missing dependency on m4 that will bite you as soon as you try to install ocamlfind [2] and which is very badly reported with

> >>>> ```

> >>>> ===== ERROR while installing ocamlfind.1.5.5 =====

> >>>> Internal error:

> >>>> "ocamlfind": command not found.

> >>>> ```

> >>>>

> >>>> so it would still be nice if they could backport (so that there is a better error) or recommend m4.

> >>>>

> >>>> Cheers,

> >>>> Louis

> >>>>

> >>>>

> >>>> [1] https://github.com/ocaml/opam/issues/1683

> >>>> [2] https://github.com/ocaml/opam/issues/1658

> >>>>

> >>>> - Anil Madhavapeddy, 09/12/2014 11:16 -

> >>>>> It looks like the latest Ubuntu has a completely broken OPAM out of the box since it ships with OPAM 1.1.1 and Aspcud 1.9 (which requires OPAM 1.2 due to a changed solver interface).

> >>>>>

> >>>>> This leads to issues such as this: https://github.com/mirage/mirage-skeleton/issues/59

> >>>>>

> >>>>> Does anyone know how to get in touch with Ubuntu folk to request a backport of OPAM 1.2 to Ubuntu 14.10?

> >>>>>

> >>>>> -anil

> >>>>> _______________________________________________

> >>>>> opam-devel mailing list

> >>>>> opam-devel@xxxxxxxxxxxxxxx

> >>>>> http://lists.ocaml.org/listinfo/opam-devel

> >>>> _______________________________________________

> >>>> opam-devel mailing list

> >>>> opam-devel@xxxxxxxxxxxxxxx

> >>>> http://lists.ocaml.org/listinfo/opam-devel

> >>>>

> >>>

> >>> _______________________________________________

> >>> opam-devel mailing list

> >>> opam-devel@xxxxxxxxxxxxxxx

> >>> http://lists.ocaml.org/listinfo/opam-devel

> >> _______________________________________________

> >> opam-devel mailing list

> >> opam-devel@xxxxxxxxxxxxxxx

> >> http://lists.ocaml.org/listinfo/opam-devel

> >

>

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.