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

Re: switching to `ocamlc -where` = /usr/lib/ocaml/



On Mon, Feb 09, 2009 at 01:45:37PM +0100, David MENTRE wrote:
> > I was thinking about doing this in two steps, but let's be clear for
> > the sake of all the readers.
> Thanks! ;-)

Thank you for your feedback!

> More specifically, only a single version of OCaml is available in a
> Debian (and thus Ubuntu) release. But if several OCaml compilers
> where available, I assume people would use them, if only to make
> one's software compatible with several OCaml releases. Of course, I
> understand that it would consume too much resources to maintain all
> OCaml infrastructure over several OCaml versions.

Yes, the maintenance burden (especially in renaming packages, having
versioned binaries) is currently out of reach in term of
manpower. Nevertheless, I'm quite convinced that there is no interest
in having multiple version of the OCaml toolchain itself, as long as
the development style of OCaml remains the same:

- releases are quite rare (about once per year, maybe less)
- backward compatibility is mostly retained (a bit less these days
  with camlp4, but still not a real issue)
- the user community is split as:
  * mostly developer, which (quite understandably) always want to
    develop against the latest OCaml
  * user of apps written in OCaml, which couldn't care less about
    which version of the compiler has been used to compile them

Do you think I'm missing any important scenario which denotes the need
of multiple OCaml versions at the same time?

> BTW, isn't the versioned scheme useful during transitions in sid?

Nope, because dependencies forces anyhow to de-install all packages
related to the old OCaml as soon as you get the new one. Removing them
effectively empties your old /usr/lib/ocaml/<ABI>/ dir, whereas
installing the new OCaml starts the new dir.

If you were thinking at file conflicts, no matter the versioning
scheme, conflicts do not occur thanks to dependencies.

> Well, the versioned directory scheme is useful for the /usr/local
> part, when you compile your own libraries and need to upgrade them
> after an OCaml compiler upgrade. I think this is much more clean
> with versioned directories. I don't know if it is related or not.

It is partly related, and it is a very good point.
It is only partly though, because with our Debian packages we mostly
don't care about /usr/local/lib/ because it is for unofficial stuff,
but it is good to support it.

Practically though, that would just mean having findlib configured to
look under /usr/local/lib/<ABI>/, because OCaml by itself wont look
anywhere else than under `ocamlc -where`, unless you provide -I. If
you are aware of some other application which would require proper
tuning to look under the right dir, please let us know.

Cheers.

-- 
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..|  .  |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime

Attachment: signature.asc
Description: Digital signature


Reply to: