Hi all,

To update on this issue, I believe there is a solution we can agree on, and 
would hopefully not be too difficult to put in place :

- In the ocaml-mccs source [1], you can toggle dynamic linking to a system 
installation of GLPK copying src/glpk/dune-shared over to src/glpk/dune

- It may then be packaged independently with that change. ocaml-mccs itself is 
a fork that has much diverged from the original MCCS [2] project, so would that 
be OK ?

- We will be releasing a 2.0.5 patch release shortly, and having this issue 
solved would be lovely. I'd be happy to help with any build issues in the 
process.


[1] https://github.com/AltGr/ocaml-mccs
[2] http://www.i3s.unice.fr/~cpjm/misc/mccs.html


> - Louis Gesbert, 26/02/2019 16:15 -
> Hi all,
> 
> Thanks a lot for the packaging efforts. It's not much tested in the wild 
> anymore, as Anil pointed out, but aspcud is still part of our test-suite and 
> _should_ work.
> 
> The error you are getting is internal to aspcud, though (it happens between 
> gringo and aspcud itself), so that might point us to a discrepancy of 
> versions between aspcud/gringo/clasp, which already happened in the past. I 
> was unable to reproduce yet using the stable packages (clasp 3.2.1-3, gringo 
> 5.1.0-4, aspcud 1:1.9.1-2+b1) and opam master (which shouldn't change much). 
> It would be worth ① checking the tool versions, ② extracting the Cudf file 
> sent to the solver (set OPAMCUDFFILE=/tmp/foo), ③ checking the aspcud debug 
> output (by running it directly on the generated file).
> 
> I understand that getting ocaml-mccs into Debian might not be easy. The mccs 
> version included has been so widely changed from the original (which is 
> unmaintained) that I would argue it is acceptable to include it besides the 
> original, maybe with a different name (the current one would suggest a 
> binding); but we do also include a stripped version of GLPK in the source. 
> That on the other hand is unpatched, and there are linking options to rely on 
> an external version (either statically or dynamically). I am willing to give 
> a hand if anyone feels like attempting to package it.
> 
> FWIW, we are also working on a Z3 backend, which doesn't require new or 
> specific bindings. For that one, Debian packaging while relying on 
> `libz3-ocaml-dev` would probably be easier than the source distribution.
> 
> Best,
> Louis
> 
> 
> > - Anil Madhavapeddy, 25/02/2019 19:16 -
> > On Sun, 9 Sep 2018 10:44:14 +0200 Ralf Jung <p...@ralfj.de> wrote:
> > > Hi Mehdi,
> > > 
> > > > On 2018-09-07 12:42, Ralf Jung wrote:
> > > >> Package: opam
> > > >> Version: 2.0.0-2
> > > >> Severity: normal
> > > >>
> > > >> Dear Maintainer,
> > > >>
> > > >> Quoting from https://opam.ocaml.org/doc/2.0/External_solvers.html:
> > > >>
> > > >>> As of 2.0.0, opam comes with a CUDF solver built-in by default, so 
> > > >>> unless you
> > > >>> have specifically compiled without it, you shouldn't have to be 
> > > >>> worried about
> > > >>> installing an external solver.
> > > >>
> > > >> So, aspcud should at best be a recommendation, not a dependency.  
> > > >> Likely, it
> > > >> should just be a suggestions; the internal solver is used by default 
> > > >> even when
> > > >> aspcud is installed.
> > > >>
> > > > 
> > > > If I am not mistaken, the built-in solver is not enabled in the Debian 
> > > > package
> > > > because we are missing ocaml-mccs to make it work. So, for now, the 
> > > > dependency
> > > > is still needed.
> > > 
> > > Oh... that's a bummer, because using the new built-in solver is one of the
> > > biggest reasons to update to opam 2 for me. :/  aspcud keeps computing 
> > > really
> > > strange solutions in some cases I frequently run into.
> > > 
> > 
> > Dear Debian opam maintainers,
> > 
> > It's really great to see opam 2.0.3 in Debian testing now! I just wanted
> > to highlight the importance of using the builtin mccs solver in order
> > to get a working opam installation on Debian Buster however.
> > 
> > Right now, the opam repository seems to fail badly when using the
> > aspcud solver out of the box:
> > 
> > """
> > $ docker run -it debian:testing
> > # apt update
> > # apt install -y opam
> > # opam init -ya
> > [WARNING] Running as root is not recommended
> > [NOTE] Will configure from built-in defaults.
> > Checking for available remotes: rsync and local, git, mercurial, darcs. 
> > Perfect!
> > 
> > <><> Fetching repository information 
> > ><><><><><><><><><><><><><><><><><><><><><>
> > [default] Initialised
> > 
> > User configuration:
> >   ~/.profile is already up-to-date.
> > [NOTE] Make sure that ~/.profile is well sourced in your ~/.bashrc.
> > 
> > 
> > <><> Creating initial switch (ocaml-system>=4.02.3) 
> > <><><><><><><><><><><><><><>
> > [ERROR] Solver failed: "/usr/bin/aspcud 
> > /tmp/opam-xxx-4710/solver-in-4710-548b09 
> > /tmp/opam-xxx-4710/solver-out-4710-8b8a2d
> >         
> > -count(removed),-sum(request,version-lag),-count(down),-sum(solution,version-lag),-count(changed)"
> >  exited with code 1 "ERROR:
> >         grounder returned with non-zero exit status"
> > """
> > 
> > I've CCed Louis Gesbert in case he can shed any light on how to
> > make aspcud work more reliably, but I strongly suspect that we've
> > been testing the builtin mccs for so long that it's become the only
> > solver in the opam 2.0.x branch capable of actually working with
> > the current opam-repository.
> > 
> > regards,
> > Anil
> > 
> 

Reply via email to