On Tue, Sep 28, 2021 at 02:06:58PM +0200, Kevin Kofler via devel wrote:
Richard W.M. Jones wrote:
> OCaml library code can in principle be dynamically linked, eg:
>
> $ rpm -ql ocaml-extlib | grep cmxs
> /usr/lib64/ocaml/extlib/extLib.cmxs
> $ file /usr/lib64/ocaml/extlib/extLib.cmxs
> /usr/lib64/ocaml/extlib/extLib.cmxs: ELF 64-bit LSB shared object, x86-64,
> version 1 (SYSV), dynamically linked,
> BuildID[sha1]=5647dd0137ce0a5302c8040301b26a109d771948, with debug_info,
> not stripped
>
> but upstream doesn't make it possible to ship OCaml binaries this way,
> (they would still require rebuilding on every library update) and so
> we only ship the DLLs not fully dynamically linked OCaml binaries
> (except for the C code).
Ah?
So what sits in the main packages of libraries (e.g., in ocaml-facile as
opposed to ocaml-facile-devel) then? Don't only shared libraries belong in
the main package?
The original split of ocaml-FOO / ocaml-FOO-devel doesn't make a lot
of sense these days. Ideally we'd put them all in one package.
So I take back my comment that the OCaml stack is properly packaged.
;-)
That sounds like almost as much of a mess as Go and Rust then.
I'd hardly say OCaml packging is a mess. It's much closer to the
spirit of C packaging than those others. If you have *specific,
actionable* objections I will listen to them.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v