janestreet / opam-repository

Opam repository for the development version of Jane Street packages
101 stars 10 forks source link

Can't install shexp #3

Closed apatil closed 7 years ago

apatil commented 7 years ago

Hi @diml, sorry in advance if this is user error. When installing from version ce7e0c70a44d32d113d5fca7ac9be9c7a659528e, I get the following:

$ opam install shexp
The following actions will be performed:
  ∗  install shexp 114.29+19

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[shexp] git://github.com/janestreet/shexp#68740a65bc980b45f16e0d42710d61bc10172d9c already up-to-date

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of shexp failed at "jbuilder build-package shexp
        -j 4".

#=== ERROR while installing shexp.114.29+19 ===================================#
# opam-version 1.2.2
# os           linux
# command      jbuilder build-package shexp -j 4
# path         /home/anand/.opam/4.03.0/build/shexp.114.29+19
# compiler     4.03.0
# exit-code    1
# env-file     /home/anand/.opam/4.03.0/build/shexp.114.29+19/shexp-26408-5f1023.env
# stdout-file  /home/anand/.opam/4.03.0/build/shexp.114.29+19/shexp-26408-5f1023.out
# stderr-file  /home/anand/.opam/4.03.0/build/shexp.114.29+19/shexp-26408-5f1023.err
### stderr ###
# Running: /home/anand/.opam/4.03.0/bin/ocamlc.opt -config > /tmp/jbuild570a5b.output
# Running: /home/anand/.opam/4.03.0/bin/ocamlfind printconf path > /tmp/jbuild5a278d.output
# Findlib package spawn not found.

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions failed
  ∗  install shexp 114.29+19
No changes have been performed

Also spawn doesn't show up in ocamlfind list, I'm guessing because no META is generated for it:

$ ls ~/.opam/4.03.0/lib/spawn/
libspawn_stubs.a  spawn.a    spawn.cmi  spawn.cmti  spawn.cmxa
opam.config       spawn.cma  spawn.cmt  spawn.cmx   spawn.mli

Thanks!

ghost commented 7 years ago

The missing meta is suspicious, what happens if you do: opam reinstall spawn?

apatil commented 7 years ago

That worked! In the process, quite a few other opam packages were removed or rebuilt. Some of them depended on packages in the opam-repository tree, especially jbuilder; but most of the churn seemed to be because ocamlbuild was downgraded from 0.9.3 to 0.9.1 and ocamlfind from 1.7.1 to 1.6.2. Depext was also downgraded from 1.0.2 to 0.7. However, I can't see any version bounds in the opam-repository source tree that would have caused those downgrades.

ghost commented 7 years ago

There was an issue at some point, ppx_core in the development opam repository has a dependency on migrate-parsetree. migrate-parsetree is not a JS package but it's not yet in the main opam repository so I added it our development opam repository. However I got the directory name wrong (- instead of ....) so opam couldn't see it.

It's fixed now. I also added strong version constraint on all our packages so future upgrades should be smoother

apatil commented 7 years ago

Thanks @diml!