public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* 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).