custom bytecode executables, build-deps, and runtime deps
In the approx package, the main approx executable directly uses some C
stubs, so on bytecode-only architectures I build it with -custom. The
other executables, like the update_approx utility, are pure OCaml, so
I thought I could get by without -custom.
But I forgot that I build-depend on, for example, libpcre-ocaml-dev,
which itself uses C stubs. The result is that running the
update_approx bytecode fails with
Fatal error: cannot load shared library dllpcre_stubs
because there's no "Depends: libpcre-ocaml".
What is the Right Thing to do here? I shouldn't have to know how a
library is implemented (whether or not it uses C stubs) in order to
build a correct application, but it seems I do (or else always blindly
turn on -custom). And even if I'm aware of the problem, how should I
manually add a Depends on libpcre-ocaml on only certain architectures?
Shouldn't the shlibs:Depends machinery handle this?
Finally, the Packaging Policy could use some text addressing this
issue. I'll be happy to draft something once I understand what the
answer is!
Cheers,
Eric
--
Eric Cooper e c c @ c m u . e d u
Reply to: