English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Project Proposals
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-06-13 (20:57)
From: Sven Luther <luther@l...>
Subject: Re: [Caml-list] OCaml packaging problems
On Tue, May 14, 2002 at 10:54:52AM +0200, Xavier Leroy wrote:
> So, to summarize, I strongly suggest the following approach for RPMs
> or Debian packages:
> - The main Caml package can add one or two lines to ld.conf,
>   e.g. /var/lib/ocaml/shlibs (for libraries installed by other packages)
>   and /usr/local/lib/ocaml/shlibs (for local stuff)
> - Packages for additional Caml libraries install their shared libraries
>   in /var/lib/ocaml/shlibs, either directly or via a symlink.

Xavier, ...

I am going to prepare a new ocaml debian package which will support what
you suggest, but still be compatible with the current way of doing
things (using the external ocaml-ldconf program).

What i will do is have the ocaml-base package (which contains the
minimum needed to run bytecode programs only, namely ocamlrun and the
dll.so) add /usr/lib/ocaml/shlibs for stub libraries provided by a
debian package, and /usr/local/lib/ocaml/shlibs for stub libraries
provided by third party libraries.

Debian packaged library will move the dll.so into these directories, and
everything will be fine, but older packages or packages with lazy
maintainers will still be able to use ocaml-ldconf.

Third parties libraries (that is, non debian packaged ones) which use findlib
will know about this scheme, and use the debian package version of findlib to
install stuff in the proper place (/usr/local/lib/ocaml/shlibs).

Third party libraries which do not use findlib, either don't know about
dll.so, and in this case there is no problem, or try to install them
either in /usr/lib/ocaml (which is bad) or add a file by hand into

In this later case, i will try to prevent this from happening, and make
people aware that this is not the correct way of doing this (if we agree
on that, that is).

But there are two points i much would like a consensus being attained on

1)  What will be the exact name of these directories ? It would be a good
idea, i think at least, if we choose the same name for all
installations of ocaml, and not everyone choosing it's own directory.
(or else we could have a ocaml option similar to -where which would
give a pointer to these directories ? and have the choice of the
directory highly configurable, maybe a -where_stub or something such ?)

Actually i have the proposition of "shlibs" from you, and "libexec" from
Gerd and the findlib people. and then i feel myself "stublibs" should be
a nice name too, especially since it is just the sub libraries we are
speaking about, and not the .cma and other such ocaml libraries.

2) I think it would be nice to distinguish two such directories,
/usr/lib/ocaml/shlibs for distribution native libraries (the packaged
ones that follow the rule), and /usr/local/lib/ocaml/shlibs for hand
installed packages. What precedence should we take for them by default ?

And should these two dirs be hardcoded into the ocaml suite, (as are
/usr/lib and /lib into the C ld.so) ?


Sven Luther
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners