X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C58A1383E802 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1592401641; bh=KnpZkLi3kOL3iSUiIqE8ulxSKjTpa50EER+sQH4vuJk=; h=To:Subject:Date:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ewXpe2U+DHEAgz3NNZL6tVh/uKEt/J8T4RdNAgVUeEjmSu5pewn1Gg24TwNVtF+4l ZwEUJwzLLcwglXsQ6D2N1vltR4rHOTkTNt80z0DUBB+UeUr+aK10ardWUumvt1SqhJ XBFv7BttHSt2+Qa/bERPchMqG4+hw3kponp/xc2c= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BA51B3870867 To: ASSI , "cygwin AT cygwin DOT com" Subject: RE: opam package should depend on ocaml-compiler-libs Thread-Topic: opam package should depend on ocaml-compiler-libs Thread-Index: AdY0yWOIhYN460JrQFiXNopcR47fggFq/qoAAL+4vTAAEoqUgAAbKu82AaA5mPA= Date: Wed, 17 Jun 2020 13:47:08 +0000 Message-ID: References: <000501d634d2$5ebc65f0$1c3531d0$@cl.cam.ac.uk> <6331360f-ee38-d41e-ab30-cca991c3cf5c AT SystematicSw DOT ab DOT ca> <5b92a927-8db6-5e2b-8a57-ce91a7681fe9 AT SystematicSw DOT ab DOT ca> <87a71cenic DOT fsf AT Otto DOT invalid> In-Reply-To: <87a71cenic.fsf@Otto.invalid> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.0.125] MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.65 on 172.16.0.20 X-Server-Quench: 0bd18a0d-b0a1-11ea-80b3-84349711df28 X-AuthReport-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCd1ZAARAlZ5RRob BmUtCCtbTh09DhZI RxQKKE1TKxwUVhJU L0JGL0JXPR1GBEcA BHlxHgpLUl1zWXN0 bwBVag9cYARHXBti WVZIQVZMFQFtHh4E GR9QUhwKA1k0Bwlw bUVkW3MVXUR5fU4z QhwAFGVXZTN9OmBO UV1ZdlYFbQtKLBxY YlR8UHoKYGRTMHho CTUebXg2JTxaYDxc SQIEIl9aWkYMAzow DxwPBTgpEQUCQW00 JBUjLhsXG0MJM0E/ Kx4lWFgDWwAC X-Authentic-SMTP: 61633634383431.1021:7242 X-AuthFastPath: 0 (Was 255) X-AuthSMTP-Origin: 93.89.134.145/25 X-AuthVirus-Status: No virus detected - but ensure you scan with your own anti-virus system. X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.29 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: David Allsopp via Cygwin Reply-To: David Allsopp Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "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 - , 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 -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple