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

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: