This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Missing dependencies for opam package
- From: "David Allsopp" <David dot Allsopp at cl dot cam dot ac dot uk>
- To: <cygwin at cygwin dot com>
- Date: Thu, 11 Jan 2018 12:50:46 -0000
- Subject: Missing dependencies for opam package
- Authentication-results: sourceware.org; auth=none
The dependencies for the opam package in the Cygwin repository are
incomplete. Since setup.ini doesn't support "optional" or "advised"
dependencies (at least I don't think it does), there are choices for how
many dependencies are added, which I leave to the maintainer.
As a minimum, please could libX11-devel and flexdll be added as a dependency
for the opam package, as not having those packages installed creates subtle
issues for new users (and it turns out there are a few!).
The first command any opam user must run is `opam init` and this will fail
if any of diff, tar, patch, unzip and *either* wget *or* curl cannot be
found. I'd suggest therefore that diffutils, tar, patch, unzip and curl be
added as dependencies.
`opam init` will also complain, but not fail, if any of cc, make and m4 are
missing, so gcc-core, make and m4 would be good additional dependencies.
opam will either use a preinstalled ocaml or will compile a new one from
scratch. The ocaml package could be added as a dependency (this is certainly
what Ubuntu, and I believe several other Linux distributions do), although
it is not compulsory and indeed with our forthcoming opam 2.0 release,
unnecessary. If there is not a preinstalled ocaml, then `opam init` will
seek to compile one, which requires the gcc-core and make packages. OCaml's
configure script disables features if libX11-devel and flexdll are not
installed and builds a subtly different ocaml, which has caused surprise for
new users as the error message from subsequent build systems is slightly
obscure. Unlike other dependencies which cause errors if not present, these
do not and if subsequently installed then require the user to recompile
ocaml, which is time-consuming. Therefore, although they're not strictly
dependencies, it would very helpful if libX11-devel and flexdll were both
automatically installed with opam.
Finally, normal use of opam also interacts with source code repositories. It
would be advisable, though not compulsory, to depend on rsync and also the
git and mercurial packages.
So, in summary, the following dependencies would be good to have added to
the opam package, in descending order of importance:
flexdll
libX11-devel
diffutils
tar
patch
unzip
curl (or wget, if preferred)
gcc-core
make
m4
rsync
git
mercurial
ocaml
Thanks!
David
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple