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

Bug#827518: ocaml: missing dependency on libncurses-dev



Source: ocaml
Severity: normal

Dear Maintainer,

The ocaml package, as well as its sister packages ocaml-nox, ocaml-base and ocaml-base-nox, are missing a dependency on libncurses-dev. This is apparent when trying to build a bytecode executable with an embedded custom runtime:

  $ touch t.ml
  $ ocamlc t.ml -custom
  /usr/bin/ld: cannot find -lcurses
  collect2: error: ld returned 1 exit status
  File "t.ml", line 1:
  Error: Error while building custom runtime system

Because of this, packages that assume that they can build a custom runtime whenever they can build regular bytecode executables, which is in my opinion a fair assumption, break. A notable case where this presents a significant problem is when the OPAM package manager is used with a system OCaml compiler. Many notable packages, e.g. ocamlfind and lwt, build custom runtimes, and currently the OPAM packages have to be altered to either disable that, when
possible, or else add an explicit dependency on ncurses-dev, through
the depext mechanism, which integrates OPAM with APT.

This is a problem because the packages themselves have no dependency on
ncurses and, indeed, the dependency is wholly unnecessary in cases where
the OCaml compiler is not built with ncurses. In effect, the OPAM repository
has to be altered to work around a missing Debian dependency.

I expect that the Debian packages containg ocamlc would gain a hard dependency
on libncurses5-dev, similar to how the ocaml package already has a hard
dependency on libx11-dev.

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.5.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)


Reply to: