* opam package should depend on ocaml-compiler-libs @ 2020-05-28 9:28 David Allsopp 2020-06-04 14:38 ` Brian Inglis 0 siblings, 1 reply; 6+ messages in thread From: David Allsopp @ 2020-05-28 9:28 UTC (permalink / raw) To: cygwin opam assumes that OCaml installed by the "OS" package manager is "complete" (i.e. is the same as "make install" from the OCaml sources), which is a problem when "OS" package managers split upstream ocaml and don't install the ocaml-compiler-libs package by default. Please could either the opam or ocaml package be updated to depend on ocaml-compiler-libs. Fixes https://github.com/ocaml/opam-repository/issues/16457. Debian/Ubuntu and Fedora both also have ocaml-compiler-libs packages, but it's installed by their ocaml package as well. Arch chooses not to do this, having packages like ocaml-findlib expressly depending on ocaml-compilerlibs and so also has its opam package depend on ocaml-compilerlibs. As both an upstream OCaml and opam maintainer, I don't mind which package has the dependency, but if opam is installed, please can any system-installed ocaml definitely be "complete"! Many thanks, David ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: opam package should depend on ocaml-compiler-libs 2020-05-28 9:28 opam package should depend on ocaml-compiler-libs David Allsopp @ 2020-06-04 14:38 ` Brian Inglis 2020-06-08 9:14 ` David Allsopp 0 siblings, 1 reply; 6+ messages in thread From: Brian Inglis @ 2020-06-04 14:38 UTC (permalink / raw) To: cygwin On 2020-05-28 03:28, David Allsopp via Cygwin wrote: > opam assumes that OCaml installed by the "OS" package manager is "complete" > (i.e. is the same as "make install" from the OCaml sources), which is a > problem when "OS" package managers split upstream ocaml and don't install > the ocaml-compiler-libs package by default. > > Please could either the opam or ocaml package be updated to depend on > ocaml-compiler-libs. Fixes > https://github.com/ocaml/opam-repository/issues/16457. > > Debian/Ubuntu and Fedora both also have ocaml-compiler-libs packages, but > it's installed by their ocaml package as well. > > Arch chooses not to do this, having packages like ocaml-findlib expressly > depending on ocaml-compilerlibs and so also has its opam package depend on > ocaml-compilerlibs. > > As both an upstream OCaml and opam maintainer, I don't mind which package > has the dependency, but if opam is installed, please can any > system-installed ocaml definitely be "complete"! [current maintainer has resigned so packages are up for adoption] Cygwin packages are granular and dependencies are functional: which of the Cygwin packages opam and opam-installer uses Cygwin package ocaml-compiler-libs, or does opam use another ocaml package to build? Current packages are: emacs-ocaml 4.10.0-1 x86_64 ocaml 4.10.0-1 x86_64 ocaml-base 4.10.0-1 x86_64 ocaml-cairo2 0.6.1-1 x86_64 ocaml-cairo2-gtk 0.6.1-1 x86_64 ocaml-cairo2-pango 0.6.1-1 x86_64 ocaml-calendar 2.04-2 x86_64 ocaml-camlp4 4.10-0.1 x86_64 ocaml-camlp5 7.11-1 x86_64 ocaml-camomile 1.0.2-1 x86_64 ocaml-camomile-data 1.0.2-1 x86_64 ocaml-compiler-libs 4.10.0-1 x86_64 ocaml-cppo 1.6.6-1 x86_64 ocaml-csv 1.7-1 x86_64 ocaml-ctypes 0.17.1-1 x86_64 ocaml-curses 1.0.4-1 x86_64 ocaml-curses-debuginfo 1.0.4-1 x86_64 ocaml-debuginfo 4.04.2-1 x86_64 ocaml-doc 4.10.0-1 x86_64 ocaml-dune 2.5.1-1 x86_64 ocaml-extlib 1.7.7-1 x86_64 ocaml-facile 1.1.3-3 x86_64 ocaml-fileutils 0.6.2-1 x86_64 ocaml-findlib 1.8.1-1 x86_64 ocaml-gettext 0.4.1-1 x86_64 ocaml-graphics 5.1.0-1 x86_64 ocaml-gv 2.40.1-5 x86_64 ocaml-integers 0.3.0-1 x86_64 ocaml-lablgl 1.06-1 x86_64 ocaml-lablglade2 2.18.10-1 x86_64 ocaml-lablgnomecanvas 2.18.10-1 x86_64 ocaml-lablgnomeui 2.18.10-1 x86_64 ocaml-lablgtk2 2.18.10-1 x86_64 ocaml-lablgtk3 3.1.0-1 x86_64 ocaml-lablgtk3-gtkspell3 3.1.0-1 x86_64 ocaml-lablgtk3-sourceview3 3.1.0-1 x86_64 ocaml-lablgtkgl2 2.18.10-1 x86_64 ocaml-lablgtksourceview2 2.18.10-1 x86_64 ocaml-lablgtkspell 2.18.10-1 x86_64 ocaml-lablrsvg 2.18.10-1 x86_64 ocaml-labltk 8.06.8-1 x86_64 ocaml-libvirt 0.6.1.5-1 x86_64 ocaml-libvirt-debuginfo 0.6.1.5-1 x86_64 ocaml-llvm 8.0.1-1 x86_64 ocaml-llvm-doc 8.0.1-1 x86_64 ocaml-num 1.3-1 x86_64 ocaml-ocamlbuild 0.14.0-1 x86_64 ocaml-ocamldoc 4.10.0-1 x86_64 ocaml-ounit 2.2.2-1 x86_64 ocaml-result 1.5-1 x86_64 ocaml-runtime 4.10.0-1 x86_64 ocaml-source 4.10.0-1 x86_64 ocaml-topkg 1.0.1-1 x86_64 ocaml-xml-light 2.3-0.2.svn234 x86_64 -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in IEC units and prefixes, physical quantities in SI.] ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: opam package should depend on ocaml-compiler-libs 2020-06-04 14:38 ` Brian Inglis @ 2020-06-08 9:14 ` David Allsopp 2020-06-08 18:58 ` Brian Inglis 0 siblings, 1 reply; 6+ messages in thread From: David Allsopp @ 2020-06-08 9:14 UTC (permalink / raw) To: cygwin Brian Inglis wrote: > On 2020-05-28 03:28, David Allsopp via Cygwin wrote: > > opam assumes that OCaml installed by the "OS" package manager is > "complete" > > (i.e. is the same as "make install" from the OCaml sources), which is > > a problem when "OS" package managers split upstream ocaml and don't > > install the ocaml-compiler-libs package by default. > > > > Please could either the opam or ocaml package be updated to depend on > > ocaml-compiler-libs. Fixes > > https://github.com/ocaml/opam-repository/issues/16457. > > > > Debian/Ubuntu and Fedora both also have ocaml-compiler-libs packages, > > but it's installed by their ocaml package as well. > > > > Arch chooses not to do this, having packages like ocaml-findlib > > expressly depending on ocaml-compilerlibs and so also has its opam > > package depend on ocaml-compilerlibs. > > > > As both an upstream OCaml and opam maintainer, I don't mind which > > package has the dependency, but if opam is installed, please can any > > system-installed ocaml definitely be "complete"! > > [current maintainer has resigned so packages are up for adoption] > > Cygwin packages are granular and dependencies are functional: which of the > Cygwin packages opam and opam-installer uses Cygwin package ocaml- > compiler-libs, or does opam use another ocaml package to build? > > Current packages are: > emacs-ocaml 4.10.0-1 x86_64 > ocaml 4.10.0-1 x86_64 > ocaml-base 4.10.0-1 x86_64 > ocaml-cairo2 0.6.1-1 x86_64 > ocaml-cairo2-gtk 0.6.1-1 x86_64 > ocaml-cairo2-pango 0.6.1-1 x86_64 > ocaml-calendar 2.04-2 x86_64 > ocaml-camlp4 4.10-0.1 x86_64 > ocaml-camlp5 7.11-1 x86_64 > ocaml-camomile 1.0.2-1 x86_64 > ocaml-camomile-data 1.0.2-1 x86_64 > ocaml-compiler-libs 4.10.0-1 x86_64 > ocaml-cppo 1.6.6-1 x86_64 > ocaml-csv 1.7-1 x86_64 > ocaml-ctypes 0.17.1-1 x86_64 > ocaml-curses 1.0.4-1 x86_64 > ocaml-curses-debuginfo 1.0.4-1 x86_64 > ocaml-debuginfo 4.04.2-1 x86_64 > ocaml-doc 4.10.0-1 x86_64 > ocaml-dune 2.5.1-1 x86_64 > ocaml-extlib 1.7.7-1 x86_64 > ocaml-facile 1.1.3-3 x86_64 > ocaml-fileutils 0.6.2-1 x86_64 > ocaml-findlib 1.8.1-1 x86_64 > ocaml-gettext 0.4.1-1 x86_64 > ocaml-graphics 5.1.0-1 x86_64 > ocaml-gv 2.40.1-5 x86_64 > ocaml-integers 0.3.0-1 x86_64 > ocaml-lablgl 1.06-1 x86_64 > ocaml-lablglade2 2.18.10-1 x86_64 > ocaml-lablgnomecanvas 2.18.10-1 x86_64 > ocaml-lablgnomeui 2.18.10-1 x86_64 > ocaml-lablgtk2 2.18.10-1 x86_64 > ocaml-lablgtk3 3.1.0-1 x86_64 > ocaml-lablgtk3-gtkspell3 3.1.0-1 x86_64 > ocaml-lablgtk3-sourceview3 3.1.0-1 x86_64 > ocaml-lablgtkgl2 2.18.10-1 x86_64 > ocaml-lablgtksourceview2 2.18.10-1 x86_64 ocaml-lablgtkspell 2.18.10-1 > x86_64 ocaml-lablrsvg 2.18.10-1 x86_64 ocaml-labltk 8.06.8-1 x86_64 ocaml- > libvirt 0.6.1.5-1 x86_64 ocaml-libvirt-debuginfo 0.6.1.5-1 x86_64 ocaml- > llvm 8.0.1-1 x86_64 ocaml-llvm-doc 8.0.1-1 x86_64 ocaml-num 1.3-1 x86_64 > ocaml-ocamlbuild 0.14.0-1 x86_64 ocaml-ocamldoc 4.10.0-1 x86_64 ocaml- > ounit 2.2.2-1 x86_64 ocaml-result 1.5-1 x86_64 ocaml-runtime 4.10.0-1 > x86_64 ocaml-source 4.10.0-1 x86_64 ocaml-topkg 1.0.1-1 x86_64 ocaml-xml- > light 2.3-0.2.svn234 x86_64 I don't quite understand your question - opam is OCaml's package manager. It can either compile OCaml itself from sources or use the OCaml installed by the system's package manager. In the second case, it quite reasonably assumes that the OCaml which has been installed is the one the OCaml developers intended which includes its compiler-libs package. Given that opam depends on ocaml, it should also depend on ocaml-compiler-libs, therefore. David ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: opam package should depend on ocaml-compiler-libs 2020-06-08 9:14 ` David Allsopp @ 2020-06-08 18:58 ` Brian Inglis 2020-06-09 6:55 ` ASSI 0 siblings, 1 reply; 6+ messages in thread From: Brian Inglis @ 2020-06-08 18:58 UTC (permalink / raw) To: cygwin On 2020-06-08 03:14, David Allsopp via Cygwin wrote: > Brian Inglis wrote: >> On 2020-05-28 03:28, David Allsopp via Cygwin wrote: >>> opam assumes that OCaml installed by the "OS" package manager is >> "complete" >>> (i.e. is the same as "make install" from the OCaml sources), which is >>> a problem when "OS" package managers split upstream ocaml and don't >>> install the ocaml-compiler-libs package by default. >>> >>> Please could either the opam or ocaml package be updated to depend on >>> ocaml-compiler-libs. Fixes >>> https://github.com/ocaml/opam-repository/issues/16457. >>> >>> Debian/Ubuntu and Fedora both also have ocaml-compiler-libs packages, >>> but it's installed by their ocaml package as well. >>> >>> Arch chooses not to do this, having packages like ocaml-findlib >>> expressly depending on ocaml-compilerlibs and so also has its opam >>> package depend on ocaml-compilerlibs. >>> >>> As both an upstream OCaml and opam maintainer, I don't mind which >>> package has the dependency, but if opam is installed, please can any >>> system-installed ocaml definitely be "complete"! >> >> [current maintainer has resigned so packages are up for adoption] >> >> Cygwin packages are granular and dependencies are functional: which of the >> Cygwin packages opam and opam-installer uses Cygwin package ocaml- >> compiler-libs, or does opam use another ocaml package to build? >> >> Current packages are: >> emacs-ocaml 4.10.0-1 x86_64 >> ocaml 4.10.0-1 x86_64 >> ocaml-base 4.10.0-1 x86_64 >> ocaml-cairo2 0.6.1-1 x86_64 >> ocaml-cairo2-gtk 0.6.1-1 x86_64 >> ocaml-cairo2-pango 0.6.1-1 x86_64 >> ocaml-calendar 2.04-2 x86_64 >> ocaml-camlp4 4.10-0.1 x86_64 >> ocaml-camlp5 7.11-1 x86_64 >> ocaml-camomile 1.0.2-1 x86_64 >> ocaml-camomile-data 1.0.2-1 x86_64 >> ocaml-compiler-libs 4.10.0-1 x86_64 >> ocaml-cppo 1.6.6-1 x86_64 >> ocaml-csv 1.7-1 x86_64 >> ocaml-ctypes 0.17.1-1 x86_64 >> ocaml-curses 1.0.4-1 x86_64 >> ocaml-curses-debuginfo 1.0.4-1 x86_64 >> ocaml-debuginfo 4.04.2-1 x86_64 >> ocaml-doc 4.10.0-1 x86_64 >> ocaml-dune 2.5.1-1 x86_64 >> ocaml-extlib 1.7.7-1 x86_64 >> ocaml-facile 1.1.3-3 x86_64 >> ocaml-fileutils 0.6.2-1 x86_64 >> ocaml-findlib 1.8.1-1 x86_64 >> ocaml-gettext 0.4.1-1 x86_64 >> ocaml-graphics 5.1.0-1 x86_64 >> ocaml-gv 2.40.1-5 x86_64 >> ocaml-integers 0.3.0-1 x86_64 >> ocaml-lablgl 1.06-1 x86_64 >> ocaml-lablglade2 2.18.10-1 x86_64 >> ocaml-lablgnomecanvas 2.18.10-1 x86_64 >> ocaml-lablgnomeui 2.18.10-1 x86_64 >> ocaml-lablgtk2 2.18.10-1 x86_64 >> ocaml-lablgtk3 3.1.0-1 x86_64 >> ocaml-lablgtk3-gtkspell3 3.1.0-1 x86_64 >> ocaml-lablgtk3-sourceview3 3.1.0-1 x86_64 >> ocaml-lablgtkgl2 2.18.10-1 x86_64 >> ocaml-lablgtksourceview2 2.18.10-1 x86_64 ocaml-lablgtkspell 2.18.10-1 >> x86_64 ocaml-lablrsvg 2.18.10-1 x86_64 ocaml-labltk 8.06.8-1 x86_64 ocaml- >> libvirt 0.6.1.5-1 x86_64 ocaml-libvirt-debuginfo 0.6.1.5-1 x86_64 ocaml- >> llvm 8.0.1-1 x86_64 ocaml-llvm-doc 8.0.1-1 x86_64 ocaml-num 1.3-1 x86_64 >> ocaml-ocamlbuild 0.14.0-1 x86_64 ocaml-ocamldoc 4.10.0-1 x86_64 ocaml- >> ounit 2.2.2-1 x86_64 ocaml-result 1.5-1 x86_64 ocaml-runtime 4.10.0-1 >> x86_64 ocaml-source 4.10.0-1 x86_64 ocaml-topkg 1.0.1-1 x86_64 ocaml-xml- >> light 2.3-0.2.svn234 x86_64 > > I don't quite understand your question - opam is OCaml's package manager. > > It can either compile OCaml itself from sources or use the OCaml installed by the system's package manager. In the second case, it quite reasonably assumes that the OCaml which has been installed is the one the OCaml developers intended which includes its compiler-libs package. Given that opam depends on ocaml, it should also depend on ocaml-compiler-libs, therefore. What you or the ocaml developers assume does not matter: what matters is how the package works. If you do not understand the question and can not provide the answer, I can see why the maintainer made his choice: he probably never used the packages, just ran any tests included. It appears that neither ocaml nor opam use ocaml-compiler-libs, otherwise the cygwin build and packaging software would include it, so which package in the ocaml suite actually binds the ocaml-compiler-libs to do its job, or does that package just provide dynamic libraries which are expected to be present when anyone runs ocaml programs? In which case users would be expected to manually install the package ocaml-compiler-libs. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in IEC units and prefixes, physical quantities in SI.] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: opam package should depend on ocaml-compiler-libs 2020-06-08 18:58 ` Brian Inglis @ 2020-06-09 6:55 ` ASSI 2020-06-17 13:47 ` David Allsopp 0 siblings, 1 reply; 6+ messages in thread From: ASSI @ 2020-06-09 6:55 UTC (permalink / raw) To: cygwin Brian Inglis writes: >>> Cygwin packages are granular and dependencies are functional: which of the >>> Cygwin packages opam and opam-installer uses Cygwin package ocaml- >>> compiler-libs, or does opam use another ocaml package to build? >> I don't quite understand your question - opam is OCaml's package manager. The question was if adding ocaml-compiler-libs to the opam requirements is sufficient or if there are other packages that need to be added as requirements for opam. A second related question is if any of the existing ocaml packages are missing dependencies, especially to ocaml-compiler-libs. Finally, since opam is split into two packages on Cygwin, which of these needs the requirement. >> It can either compile OCaml itself from sources or use the OCaml >> installed by the system's package manager. In the second case, it >> quite reasonably assumes that the OCaml which has been installed is >> the one the OCaml developers intended which includes its >> compiler-libs package. Given that opam depends on ocaml, it should >> also depend on ocaml-compiler-libs, therefore. > > What you or the ocaml developers assume does not matter: what matters is how the > package works. If you do not understand the question and can not provide the > answer, I can see why the maintainer made his choice: he probably never used the > packages, just ran any tests included. That sounds unnecessarily harsh to me. It would however be helpful if the opam maintainer could have a look, since he is undoubtedly much more aware of the issues on both the OCaml and Cygwin sides than any one of us and could probably explain why the packages are built the way they are. > It appears that neither ocaml nor opam use ocaml-compiler-libs, otherwise the > cygwin build and packaging software would include it, so which package in the > ocaml suite actually binds the ocaml-compiler-libs to do its job, or does that > package just provide dynamic libraries which are expected to be present when > anyone runs ocaml programs? > In which case users would be expected to manually install the package > ocaml-compiler-libs. It's not uncommon that these captive "package managers" assume a certain environment without depending directly on it, so you'll indeed have to manually add the pre-requisites as manual requirements for the Cygwin package. That doesn't solve the problem that usually language environments that come with their own package manage don't quite play nice with the system package manager, especially if the system is not GNU/Linux. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf Blofeld V1.15B11: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: opam package should depend on ocaml-compiler-libs 2020-06-09 6:55 ` ASSI @ 2020-06-17 13:47 ` David Allsopp 0 siblings, 0 replies; 6+ messages in thread From: David Allsopp @ 2020-06-17 13:47 UTC (permalink / raw) To: ASSI, cygwin Achim Gratz wrote: > Brian Inglis writes: > >>> Cygwin packages are granular and dependencies are functional: which > >>> of the Cygwin packages opam and opam-installer uses Cygwin package > >>> ocaml- compiler-libs, or does opam use another ocaml package to build? > > >> I don't quite understand your question - opam is OCaml's package > manager. > > The question was if adding ocaml-compiler-libs to the opam requirements is > sufficient or if there are other packages that need to be added as > requirements for opam. A second related question is if any of the > existing ocaml packages are missing dependencies, especially to ocaml- > compiler-libs. Finally, since opam is split into two packages on Cygwin, > which of these needs the requirement. Indeed, adding ocaml-compiler-libs as a dependency of opam is sufficient (opam-installer does not in any way depend on it). The rest of opam's non-build dependencies were dealt with in 2018 (see https://github.com/andyli/opam-cygwin/blame/master/opam.cygport#L22-L23 and the linked https://sourceware.org/legacy-ml/cygwin/2018-01/msg00079.html). > >> It can either compile OCaml itself from sources or use the OCaml > >> installed by the system's package manager. In the second case, it > >> quite reasonably assumes that the OCaml which has been installed is > >> the one the OCaml developers intended which includes its > >> compiler-libs package. Given that opam depends on ocaml, it should > >> also depend on ocaml-compiler-libs, therefore. > > > > What you or the ocaml developers assume does not matter: what matters > > is how the package works. If you do not understand the question and > > can not provide the answer, I can see why the maintainer made his > > choice: he probably never used the packages, just ran any tests > included. > > That sounds unnecessarily harsh to me. It would however be helpful if the > opam maintainer could have a look, since he is undoubtedly much more aware > of the issues on both the OCaml and Cygwin sides than any one of us and > could probably explain why the packages are built the way they are. The dependencies were modified before so that `opam init` succeeds without it being: - install Cygwin's opam package - Run opam init - <sigh>, re-run Cygwin setup and install a load more Cygwin packages - Run opam init again The additional dependency ensures that the next command many users would then run `opam install ocamlfind` also succeeds. > > It appears that neither ocaml nor opam use ocaml-compiler-libs, > > otherwise the cygwin build and packaging software would include it, so > > which package in the ocaml suite actually binds the > > ocaml-compiler-libs to do its job, or does that package just provide > > dynamic libraries which are expected to be present when anyone runs > ocaml programs? > > In which case users would be expected to manually install the package > > ocaml-compiler-libs. > > It's not uncommon that these captive "package managers" assume a certain > environment without depending directly on it, so you'll indeed have to > manually add the pre-requisites as manual requirements for the Cygwin > package. That doesn't solve the problem that usually language > environments that come with their own package manage don't quite play nice > with the system package manager, especially if the system is not > GNU/Linux. We do our best - the opam developers use a mix of FreeBSD/OpenBSD/macOS/Windows & Debian, so we try to remain accommodating by design :) Thanks, David ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-17 13:47 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-28 9:28 opam package should depend on ocaml-compiler-libs David Allsopp 2020-06-04 14:38 ` Brian Inglis 2020-06-08 9:14 ` David Allsopp 2020-06-08 18:58 ` Brian Inglis 2020-06-09 6:55 ` ASSI 2020-06-17 13:47 ` David Allsopp
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).