From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 068635D5 for ; Tue, 27 Nov 2018 14:33:00 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.56,286,1539640800"; d="scan'208,217";a="357598879" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 27 Nov 2018 15:32:59 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 5E8128253E; Tue, 27 Nov 2018 15:32:59 +0100 (CET) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 157EE824CF for ; Tue, 27 Nov 2018 15:32:55 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=anil@recoil.org; spf=None smtp.mailfrom=anil@recoil.org; spf=None smtp.helo=postmaster@bark.recoil.org IronPort-PHdr: =?us-ascii?q?9a23=3AeO0pexMDk1eVQZFr+9wl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0IvzzrarrMEGX3/hxlliBBdydt6oUzbKO+4nbGkU4qa6bt34DdJEeHzQksu?= =?us-ascii?q?4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1?= =?us-ascii?q?Ov71GonPhMiryuy+4ZLebxlLiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPde?= =?us-ascii?q?RWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbY?= =?us-ascii?q?UwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0vRz+s87lkRwPpiC?= =?us-ascii?q?cfNj427mfXitBrjKlGpB6tvgFzz5LIbI2QMvd1Y6HTcs4ARWdZXshfVDBODYyh?= =?us-ascii?q?YYUBDeUPI+hYoY7mqlQUsRe+ABOhBOPzxjJKgHL9wK000/4mEQHDxAEtA9QOsH?= =?us-ascii?q?XQrN7oM6kdS/26zKnSwjXddfxWwSny55XVfREhvPqBWqh/cczQyUkrDA7FlEuf?= =?us-ascii?q?ppDiPzOU0uQBqW+b7/BvVe+2jWMstg9/oj+qxsg2i4nJgJoYylfY+ipjxYY1Ic?= =?us-ascii?q?e0SElhYd6rCJdQuCCaN5d2QsM/WG5kojo1yroDuZO9YSMEy4wnygbfZvCdboSF?= =?us-ascii?q?4hzuWPyPLTtmhH9pYrKyiwuq/UWj1uHwTMi53ExXoidGjtXArHMA2wLV58OaUP?= =?us-ascii?q?Vy5F2h1iyK1w3L6uFLP0Q0la3DJpE62LEwjJkTvV7ZHiDohEr2i66WdkE+9uiv?= =?us-ascii?q?8eTnba3qpp6aN4BqlgHzKqQjltaiDek4PAUCRXaX9fq82bH5/UD1Xa1Gjvgsna?= =?us-ascii?q?nYtJDaK94bpqm8AwJNyIkj7Re/DzO93dQCg3YIMFVFeBODj4TzPFHOOv/4Ae+l?= =?us-ascii?q?g1uwiDdr2+zGPrr5D5rRNHfDlbPhca95605d0woz0ctS54lUC7EEOPL8QFX9tN?= =?us-ascii?q?3eDh8jMgy72fzrCNtn1tBWZWXaILKdMaqalVaX7+Yra72OeYsUsXD5Iucs4/rG?= =?us-ascii?q?iX4hxxkTZ//684EQbSWRGPVia2CQbXrlnN4ZHGsGr0JqRerrjHWYXDVUZnL0WL?= =?us-ascii?q?gzsGJoQLm6BJvOE9j+yIeK2z22S9gPPjgfWwK8VEzwfoDBYM8iLSebI8tviDsB?= =?us-ascii?q?DOLzUYIq0hCq8gjgxOg/d7aGymgjrZvmkeNNyajLjxhrr25uAs+a0mXLSHt7zD?= =?us-ascii?q?tRGm0GmZtnqEk48W+tlKh1h/sBSo5Z7ulKFB03Ppndy6p9Ed+gAg8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DQBABGVP1b/zPhmQVkHQEBBQEHBQGBZ?= =?us-ascii?q?YEOTSlmA0g3J4N5iHeLKYFoJRRolliBZgMKIwgBgUuCdQIIhDAaBgY0EgEDAQE?= =?us-ascii?q?CAQEBAQFsHAyCNiQBgmEBAQEBAgEjHQMBNQEBAwsLGCAKAgJJAQ0GExSDDQGBe?= =?us-ascii?q?QwBCqNNAUFwgS+CdgcCgS4BgRKEYgEINItZF4F/gREnDBOCFwcugX6BIAKBKQU?= =?us-ascii?q?BEgFMglcxgiaJL4Vzhh+JeFUJgiCEXIo0EgZfek2EPoJ+hymCeIZ2g1iHb4MCg?= =?us-ascii?q?V0hNDBxfQg7KgGCQQk1gWkXfwEOgjyFFIU/PwEygQUBAYpRgj4BAQ?= X-IPAS-Result: =?us-ascii?q?A0DQBABGVP1b/zPhmQVkHQEBBQEHBQGBZYEOTSlmA0g3J4N?= =?us-ascii?q?5iHeLKYFoJRRolliBZgMKIwgBgUuCdQIIhDAaBgY0EgEDAQECAQEBAQFsHAyCN?= =?us-ascii?q?iQBgmEBAQEBAgEjHQMBNQEBAwsLGCAKAgJJAQ0GExSDDQGBeQwBCqNNAUFwgS+?= =?us-ascii?q?CdgcCgS4BgRKEYgEINItZF4F/gREnDBOCFwcugX6BIAKBKQUBEgFMglcxgiaJL?= =?us-ascii?q?4Vzhh+JeFUJgiCEXIo0EgZfek2EPoJ+hymCeIZ2g1iHb4MCgV0hNDBxfQg7KgG?= =?us-ascii?q?CQQk1gWkXfwEOgjyFFIU/PwEygQUBAYpRgj4BAQ?= X-IronPort-AV: E=Sophos;i="5.56,286,1539640800"; d="scan'208,217";a="357598845" Received: from bark.recoil.org ([5.153.225.51]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Nov 2018 15:32:51 +0100 Received: from bark.recoil.org (localhost [127.0.0.1]) by bark.recoil.org (OpenSMTPD) with ESMTP id f3e95ccd; Tue, 27 Nov 2018 14:32:49 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=recoil.org; h=from :message-id:content-type:mime-version:subject:date:in-reply-to :cc:to:references; s=selector1; bh=TqqB6DPLqucuck9Wr9mFQdnpa6U=; b= c/XYi4KEgkJ3ipXAPKzTxGPbY40egulMlcOTv+sFsu4QX2XbIDT9501F+Ym4/5Zo OQdiDGcOWk7wbyvrHLk/zMmyvXx8g3YlurZWbDsDykyFBmqBoBK8f/EiwW2jEMp9 s89fXlvwytH7C81SEEPVhGSCfJvG3QJfNC6Iw7RGXT0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=recoil.org; h=from :message-id:content-type:mime-version:subject:date:in-reply-to :cc:to:references; q=dns; s=selector1; b=nkbnT7loZPmA3hO4TqEVa2e Ik3iTx6a9axzaclxG8Ti9dYqrZJhxVcjJwrzpVSu06qHaZQbVkPUrflf0zVN9fHE 1JN9kT7E7ulr5kGRfv1wWlTMbEbUWLV9FWlEAin9ArQ03Qnt2bHY1SiY2gsYtClq pl0H8rKSxlfp4Lxz/9L8= Received: from [192.168.2.38] (cpc91194-cmbg18-2-0-cust81.5-4.cable.virginm.net [80.6.180.82]) by bark.recoil.org (OpenSMTPD) with ESMTPSA id 86587ed6 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Tue, 27 Nov 2018 14:32:49 +0000 (GMT) From: Anil Madhavapeddy Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_B71234F9-A9C1-45FF-8A7E-1DFF70B32598" Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Date: Tue, 27 Nov 2018 14:32:43 +0000 In-Reply-To: Cc: Yawar Amin , oliver@first.in-berlin.de, Ocaml Mailing List To: Julia Lawall References: <20181126101448.3ee5jgz4c6ulsbbr@first.in-berlin.de> X-Mailer: Apple Mail (2.3445.9.1) Subject: Re: [Caml-list] Build-/Installation-Tools - not enogh of them? Reply-To: Anil Madhavapeddy X-Loop: caml-list@inria.fr X-Sequence: 17172 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --Apple-Mail=_B71234F9-A9C1-45FF-8A7E-1DFF70B32598 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 26 Nov 2018, at 20:54, Julia Lawall wrote: >=20 > Personally, I was in the end forced to install opam. But I don't want to > force my users to install it (to figure out how to get it to work, I had > to contact a member of Gallium - and my users don't have that > opportunity). I would prefer that they can just use the ocaml that comes > with their system package manager. >=20 > Since opam is the recommended method of installation, couldn't there at > least be provided understandable instructions? That really seems like a > tougher time than what is necessary. >=20 Dear Julia, dear all, Thanks for the helpful reminder that the opam and ocaml documentation needs a refresh. We=E2=80=99ve just gone through a fairly major release cy= cle with opam2 and dune1, and it=E2=80=99s to be expected that there are some incons= istencies. To clear up one misconception on this thread =E2=80=94 opam is *not* the on= ly recommended mechanism to get the OCaml compiler. We go to some trouble to ensure that OCaml is packaged up natively on the OS package managers where possible, and there is a list on the ocaml.org installation page with popular distributions. The problems begin when the user needs a particular version of OCaml, which is a common requirement for teaching. The system package=20 managers typically lag in their versions (again, listed on the ocaml.org installation page). At this point, opam is indeed the simplest tool to boo= tstrap the precise version of the compiler and packages that you require, but at the expense of requiring an OCaml-specific tool. Now, I recognise the need for improving the installation instructions, and particularly so with step-by-step guides to getting things installed. However, I would implore those with complaints to register the inaccuracies on the opam issue tracker [1], so that we can at least learn about them and fix them just as we do with any software bug. [1] https://github.com/ocaml/opam/issues It=E2=80=99s particularly frustrating to see these threads erupt with pent = up (and valid) annoyances from users that we could have addressed if someone had reported it. Even better, please do send in PRs with some suggested text for the website, and take some load off our overworked maintainers :-) For whoever said that my Ubuntu opam2 PPA is hard to Google,=20 the process of creating it was roughly: - spend a few hours fighting with the Debian packaging scripts - get x86_64/i386/arm32/arm64/ppc64le all working in Launchpad - post on https://discuss.ocaml.org/t/opam-2-0-experimental-ppas/2446 to ge= t no feedback whatsoever - eventually just push it live after one user gets back with feedback - wait for complaints to show up that its hard to find Without feedback, it=E2=80=99s very difficult to know what to prioritise, a= nd Ubuntu is just one of many, many Linux distributions that we have to worry about. Japp Boender also wrote: > I'd like to chime in here - as the person responsible for doing most of t= he OCaml packaging for pkgsrc, I've noticed that I can hardly ever just upd= ate a package to a new version anymore - I'll generally also need to update= the infrastructure as some sort of new build tool will have become involve= d, with all its attendant quirks, or someone will have decided to change th= e name of packages, or some other change will have occurred. Things seem to= be in a constant state of flux, and thus packaging becomes quite time-cons= uming. This is indeed the result of progress on the tooling side. There=E2=80=99s= been a lot of work in the last few years on deprecating older tools (camlp4, ocamlbuild) and moving towards modern alternatives such as dune for build and opam2 for publishing. Things are settling down now: dune is emerging as a well-maintained and portable alternative to the myriad of build systems that have been proposed in the past. The bootstrapping problems you mention should also have become a *lot* easier with opam2, since the solver is linked into the binary and no external aspcud is needed. If you do still run into any problems with fakeroots and such, please report them on the dune or opam issue tracker and we=E2=80=99ll take a look. Behind the scenes, there are other benefits from a consistent build system: cross compilation and Windows support are greatly improved now. Malcolm Matalka also wrote: > Is there a reasonable workflow for how to turn opam packages into > packages for existing OS's though? Currently it does seem like users > need to know about Ocaml to use things written in Ocaml, if only because > most of the focus has been on opam. Other OSs tend to have old > packages. Our goal (with my dune and opam developer hat on) is to provide sufficient metadata within a dune description of a project to automatically generate opam *and* upstreamable OS packages (from templates). This will look something like =E2=80=9Cdune @package=E2=80=9D and really reduce the b= urden on developers and OS maintainers. I=E2=80=99d like, for example, the native O= penBSD packages to be able to be replaced by a mechanically generated version. See this issue for more: https://github.com/ocaml/dune/issues/1498 Julia Lawall also wrote: > The question is what to do after installing opam. Even if there is > nothing to do after installing opam, it would be helpful to say that. If > there is something to do after installing opam to get the ocaml compiler > for example, as opposed to just the runtime system, it would be helpful to > say that too. The documentation should be designed from the point of view > of the person who has never used ocaml or opam, never wants to use them > again, and has no contact with the ocaml community. Otherwise, people who > want to try some ocaml software, but are not actually forced to use it, > will just give up. I completely agree with this sentiment. I=E2=80=99m personally motivated to make sure ocaml/opam meet these standards, as we are moving to teaching using OCaml in the Cambridge University Computer Lab from next year, so I=E2=80=99ll definitely be proposing some changes myself= :-) I=E2=80=99d love to hear from other teachers about the sort of environments= you have to work in =E2=80=94 we=E2=80=99ve been considering shifting to a comb= ination of browser-based IDEs (for homogeneity across student laptops) and other systems. Finally, this thread might seem like it is full of complaints, but the tool= ing is steadily improving and leaving behind silent and satisfied users. Dune in particular has made as big a difference to our community as opam did when it was first released five years ago. At ICFP this year, the OCaml Workshop was full of industrial users who were thankful for Dune improving their day-to-day development, as well as the ecosystem of new tools such as ocamlformat, merlin, odoc and so on, and the Coq project is moving to adopt it now as well! I=E2=80=99m not suggesting we r= est on our laurels, but as the year end holiday approaches, I would be delighted if users to email their favourite tool developer a note of encouragement to continue to work on it. And then file an issue to get the docs fixed :-) regards, Anil --=20 Caml-list mailing list. Subscription management and archives: https://sympa.inria.fr/sympa/arc/caml-list https://inbox.ocaml.org/caml-list Forum: https://discuss.ocaml.org/ Bug reports: http://caml.inria.fr/bin/caml-bugs= --Apple-Mail=_B71234F9-A9C1-45FF-8A7E-1DFF70B32598 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
On 26 Nov 2018, at 20:54, Ju= lia Lawall <julia.law= all@lip6.fr> wrote:

Personally, I was in the end forced to install opam. &nb= sp;But I don't want to
= force my users to install it (to figure out how to get it to work, I had
to contact a member of Ga= llium - and my users don't have that
opportunity).  I would prefer that they can just use the= ocaml that comes
with= their system package manager.

Since opam is the recommende= d method of installation, couldn't there at
least be provided understandable instructions?  T= hat really seems like a
tougher time than what is necessary.


Dear Julia, dear all,

= Thanks for the helpful reminder that the opam and ocaml documentation
=
needs a refresh.  We=E2=80=99ve just gone through a fairly major = release cycle with
opam2 and dune1, and it=E2=80=99s to be expect= ed that there are some inconsistencies.

To clear up one misconception on this thread =E2=80=94 opam is *not* the o= nly
recommended mechanism to get the OCaml compiler.  We go = to some
trouble to ensure that OCaml is packaged up natively on t= he OS package
managers where possible, and there is a list on the= ocaml.org installation
page with popular distributions.

The= problems begin when the user needs a particular version of OCaml,
which is a common requirement for teaching.  The system package = ;
managers typically lag in their versions (again, listed on the = ocaml.org
installatio= n page).  At this point, opam is indeed the simplest tool to bootstrap=
the precise version of the compiler and packages that you requir= e, but
at the expense of requiring an OCaml-specific tool.
<= div>
Now, I recognise the need for improving the i= nstallation instructions,
and particularly so with step-by-step g= uides to getting things installed.
However, I would implore those= with complaints to register the inaccuracies
on the opam issue t= racker [1], so that we can at least learn about them
and fix them= just as we do with any software bug.


It=E2=80= =99s particularly frustrating to see these threads erupt with pent up
=
(and valid) annoyances from users that we could have addressed if some= one
had reported it. Even better, please do send in PRs with some= suggested
text for the website, and take some load off our overw= orked maintainers :-)

For whoever said = that my Ubuntu opam2 PPA is hard to Google, 
the process of = creating it was roughly:

- spend a few = hours fighting with the Debian packaging scripts
- get x86_64/i38= 6/arm32/arm64/ppc64le all working in Launchpad
- post on https://discuss.ocaml.org/t/opam-2-0-experimental-ppas/2446 to ge= t no feedback whatsoever
- eventually just push it live after one= user gets back with feedback
- wait for complaints to show up th= at its hard to find

Without feedback, i= t=E2=80=99s very difficult to know what to prioritise, and
Ubuntu= is just one of many, many Linux distributions that we have to
wo= rry about.

Japp Boender also wrote:
I'd like to chime in here - as = the person responsible for doing most of the OCaml packaging for pkgsrc, I'= ve noticed that I can hardly ever just update a package to a new version an= ymore - I'll generally also need to update the infrastructure as some sort = of new build tool will have become involved, with all its attendant quirks,= or someone will have decided to change the name of packages, or some other= change will have occurred. Things seem to be in a constant state of flux, = and thus packaging becomes quite time-consuming.

This is indeed the result of progress on the too= ling side.  There=E2=80=99s been
a lot of work in the last f= ew years on deprecating older tools (camlp4,
ocamlbuild) and movi= ng towards modern alternatives such as dune
for build and opam2 f= or publishing.

Things are settling down= now: dune is emerging as a well-maintained
and portable alternat= ive to the myriad of build systems that have been
proposed in the= past.  The bootstrapping problems you mention should
also h= ave become a *lot* easier with opam2, since the solver is linked
= into the binary and no external aspcud is needed.  If you do still run=
into any problems with fakeroots and such, please report them on= the
dune or opam issue tracker and we=E2=80=99ll take a look.

Behind the scenes, there are other benefi= ts from a consistent build
system: cross compilation and Windows = support are greatly improved
now.

=
Malcolm Matalka also wrote:
Is there a reasonable workflow for how to turn opam package= s into
packages for existing OS's though?  Currently it = does seem like users
need to know about Ocaml to use things w= ritten in Ocaml, if only because
most of the focus has been o= n opam.  Other OSs tend to have old
packages.

Our goal (with my dune and opa= m developer hat on) is to provide sufficient
metadata within a du= ne description of a project to automatically generate
opam *and* = upstreamable OS packages (from templates).  This will
look s= omething like =E2=80=9Cdune @package=E2=80=9D and really reduce the burden = on
developers and OS maintainers.  I=E2=80=99d like, for exa= mple, the native OpenBSD
packages to be able to be replaced by a = mechanically generated version.

See thi= s issue for more: https://github.com/ocaml/dune/issues/1498

Julia Lawall also wrote:
The question is what to do after installing opa= m.  Even if there is
nothing to do after installing opam= , it would be helpful to say that.  If
there is somethin= g to do after installing opam to get the ocaml compiler
for e= xample, as opposed to just the runtime system, it would be helpful to
say that too.  The documentation should be designed from the = point of view
of the person who has never used ocaml or opam,= never wants to use them
again, and has no contact with the o= caml community. Otherwise, people who
want to try some ocaml = software, but are not actually forced to use it,
will just gi= ve up.

I completely agree = with this sentiment.  I=E2=80=99m personally motivated to
make sure ocaml/opam meet these standards, as we are moving to
teaching using OCaml in the Cambridge University Computer= Lab
from next year, so I=E2=80=99ll definitely be pro= posing some changes myself :-)

I=E2=80=99d love to hear from other teachers about the sort o= f environments you
have to work in =E2=80=94 we=E2=80= =99ve been considering shifting to a combination of
br= owser-based IDEs (for homogeneity across student laptops) and
other systems.

Finally, this thread might seem like it is full of complaints, but th= e tooling
is steadily improving and leaving behind sil= ent and satisfied users.
Dune in particular has made a= s big a difference to our community as
opam did when i= t was first released five years ago.  At ICFP this year,
the OCaml Workshop was full of industrial users who were thankful f= or
Dune improving their day-to-day development, as wel= l as the ecosystem
of new tools such as ocamlformat, m= erlin, odoc and so on, and the Coq
project is moving t= o adopt it now as well!  I=E2=80=99m not suggesting we rest on
our laurels, but as the year end holiday approaches, I would = be delighted
if users to email their favourite tool de= veloper a note of encouragement to
continue to work on= it.  And then file an issue to get the docs fixed :-)

regards,
An= il
= --Apple-Mail=_B71234F9-A9C1-45FF-8A7E-1DFF70B32598--