janestreet / opam-repository

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

Unable to install latest jane-street packages #14

Closed abhi18av closed 1 year ago

abhi18av commented 3 years ago

Hi Jane Street team,

I was trying to setup the wonderful ecaml package on a new machine (macOS) and I was unable to install the latest version as documented here https://github.com/janestreet/ecaml/issues/13.

@bcc32 pointed out this repo for me and I setup both the repositories mentioned in Readme

opam repo add janestreet-bleeding https://ocaml.janestreet.com/opam-repository

opam repo add janestreet-bleeding-external https://github.com/janestreet/opam-repository.git#external-packages

However, when I tried installing ecaml it fails because of the following packages

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_custom_printf v0.15~preview.124.21+407
β”‚ Ξ» build ppx_fields_conv   v0.15~preview.124.21+407
β”‚ Ξ» build ppx_optcomp       v0.15~preview.124.21+407
β”‚ Ξ» build ppx_sexp_message  v0.15~preview.124.21+407
β”‚ Ξ» build ppx_string        v0.15~preview.124.21+407
β”‚ Ξ» build ppx_typerep_conv  v0.15~preview.124.21+407
└─

When I tried to setup one of these packages individually the following error message is thrown

(base) Abhinavs-MacBook-Pro:todo-cli eklavya$ opam install ppx_fields_conv
The following actions will be performed:
  βˆ— install ppx_fields_conv v0.15~preview.124.21+407

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
[ppx_fields_conv.v0.15~preview.124.21+407] downloaded from https://github.com/janestreet/ppx_fields_conv/archive/9c060c1bbf7c3f8a55b9091d678c269970bda96f.tar.gz

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
[ERROR] The compilation of ppx_fields_conv failed at "/Users/eklavya/.opam/opam-init/hooks/sandbox.sh build dune build -p
        ppx_fields_conv -j 3".

#=== ERROR while compiling ppx_fields_conv.v0.15~preview.124.21+407 ===========#
# context     2.0.8 | macos/x86_64 | ocaml-base-compiler.4.11.2 | https://ocaml.janestreet.com/opam-repository
# path        ~/.opam/4.11.2/.opam-switch/build/ppx_fields_conv.v0.15~preview.124.21+407
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune build -p ppx_fields_conv -j 3
# exit-code   1
# env-file    ~/.opam/log/ppx_fields_conv-38817-a00279.env
# output-file ~/.opam/log/ppx_fields_conv-38817-a00279.out
### output ###
# [...]
# File "src/ppx_fields_conv.ml", line 38, characters 23-51:
# 38 |     pexp_constant ~loc (Pconst_string (s,loc,None))
#                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 2 argument(s),
#        but is applied here to 3 argument(s)
#     ocamlopt src/.ppx_fields_conv.objs/native/ppx_fields_conv.{cmx,o} (exit 2)
# (cd _build/default && /Users/eklavya/.opam/4.11.2/bin/ocamlopt.opt -w -40 -g -I src/.ppx_fields_conv.objs/byte -I src/.ppx_fields_conv.objs/native -I /Users/eklavya/.opam/4.11.2/lib/base -I /Users/eklavya/.opam/4.11.2/lib/base/base_internalhash_types -I /Users/eklavya/.opam/4.11.2/lib/base/caml -I /Users/eklavya/.opam/4.11.2/lib/base/shadow_stdlib -I /Users/eklavya/.opam/4.11.2/lib/ocaml-comp[...]
# File "src/ppx_fields_conv.ml", line 38, characters 23-51:
# 38 |     pexp_constant ~loc (Pconst_string (s,loc,None))
#                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 2 argument(s),
#        but is applied here to 3 argument(s)

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_fields_conv v0.15~preview.124.21+407
└─
╢─ No changes have been performed

I have tried to setup with 4.10.2, 4.11.2 and 4.12.0 with no success 😞

Could you please help me out here?

ghost commented 3 years ago

Hi Abhinav, what version of ppxlib do you have installed?

abhi18av commented 3 years ago

Hi Jeremie,

Here's the ppxlib version

(base) Abhinavs-MacBook-Pro:docker eklavya$ opam list | grep 'ppxlib'
ppxlib                      0.17.0                   Standard library for ppx rewriters
ghost commented 3 years ago

Alright, that's the issue then. You need ppxlib >= 0.18.0.

abhi18av commented 3 years ago

Hmm, good catch!

So, I tried to upgrade as you mentioned but it ran into another error

Could this be another dependency issue?

(base) Abhinavs-MacBook-Pro:docker eklavya$ opam upgrade ppxlib
The following actions will be performed:
  ⊘ remove    ppx_disable_unused_warnings v0.15~preview.124.21+407            [conflicts with ppxlib]
  β†— upgrade   ppxlib                      0.17.0 to 0.22.0
  ↻ recompile ppx_js_style                v0.14.0                             [uses ppxlib]
  β†˜ downgrade ppx_variants_conv           v0.15~preview.124.21+407 to v0.14.1 [uses ppxlib]
  β†˜ downgrade ppx_stable                  v0.15~preview.124.21+407 to v0.14.1 [uses ppxlib]
  β†˜ downgrade ppx_sexp_conv               v0.15~preview.124.21+407 to v0.14.3 [uses ppxlib]
  β†˜ downgrade ppx_pipebang                v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_optional                v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_let                     v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_here                    v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_fixed_literal           v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_enumerate               v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_compare                 v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_cold                    v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_sexp_value              v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_hash                    v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_assert                  v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade ppx_base                    v0.15~preview.124.21+407 to v0.14.0 [uses ppxlib]
  β†˜ downgrade jst-config                  v0.15~preview.124.21+407 to v0.14.0 [uses ppx_assert]
  β†˜ downgrade sexp_pretty                 v0.15~preview.124.21+407 to v0.14.0 [uses ppx_base]
===== ↻ 1   β†— 1   β†˜ 17   ⊘ 1 =====
Do you want to continue? [Y/n] Y

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
[jst-config.v0.14.0] found in cache
[ppx_assert.v0.14.0] found in cache
[ppx_base.v0.14.0] found in cache
[ppx_cold.v0.14.0] found in cache
[ppx_compare.v0.14.0] found in cache
[ppx_enumerate.v0.14.0] found in cache
[ppx_fixed_literal.v0.14.0] found in cache
[ppx_hash.v0.14.0] found in cache
[ppx_here.v0.14.0] found in cache
[ppx_js_style.v0.14.0] found in cache
[ppx_let.v0.14.0] found in cache
[ppx_optional.v0.14.0] found in cache
[ppx_pipebang.v0.14.0] found in cache
[ppx_sexp_conv.v0.14.3] found in cache
[ppx_sexp_value.v0.14.0] found in cache
[ppx_stable.v0.14.1] found in cache
[ppx_variants_conv.v0.14.1] found in cache
[ppxlib.0.22.0] found in cache
[sexp_pretty.v0.14.0] found in cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
⊘ removed   ppx_disable_unused_warnings.v0.15~preview.124.21+407
⊘ removed   jst-config.v0.15~preview.124.21+407
⊘ removed   ppx_assert.v0.15~preview.124.21+407
⊘ removed   ppx_fixed_literal.v0.15~preview.124.21+407
⊘ removed   ppx_js_style.v0.14.0
⊘ removed   ppx_let.v0.15~preview.124.21+407
⊘ removed   ppx_optional.v0.15~preview.124.21+407
⊘ removed   ppx_pipebang.v0.15~preview.124.21+407
⊘ removed   ppx_sexp_value.v0.15~preview.124.21+407
⊘ removed   ppx_here.v0.15~preview.124.21+407
⊘ removed   ppx_stable.v0.15~preview.124.21+407
⊘ removed   ppx_variants_conv.v0.15~preview.124.21+407
⊘ removed   sexp_pretty.v0.15~preview.124.21+407
⊘ removed   ppx_base.v0.15~preview.124.21+407
⊘ removed   ppx_cold.v0.15~preview.124.21+407
⊘ removed   ppx_enumerate.v0.15~preview.124.21+407
⊘ removed   ppx_hash.v0.15~preview.124.21+407
⊘ removed   ppx_compare.v0.15~preview.124.21+407
⊘ removed   ppx_sexp_conv.v0.15~preview.124.21+407
⊘ removed   ppxlib.0.17.0
βˆ— installed ppxlib.0.22.0
[ERROR] The compilation of ppx_sexp_conv failed at "/Users/eklavya/.opam/opam-init/hooks/sandbox.sh build dune build -p ppx_sexp_conv -j 3".
βˆ— installed ppx_cold.v0.14.0
βˆ— installed ppx_compare.v0.14.0
βˆ— installed ppx_enumerate.v0.14.0
βˆ— installed ppx_fixed_literal.v0.14.0
βˆ— installed ppx_here.v0.14.0
βˆ— installed ppx_js_style.v0.14.0
βˆ— installed ppx_let.v0.14.0
βˆ— installed ppx_optional.v0.14.0
βˆ— installed ppx_pipebang.v0.14.0
βˆ— installed ppx_variants_conv.v0.14.1
βˆ— installed ppx_stable.v0.14.1

#=== ERROR while compiling ppx_sexp_conv.v0.14.3 ==============================#
# context     2.0.8 | macos/x86_64 | ocaml-base-compiler.4.11.2 | https://opam.ocaml.org#ea001ff9
# path        ~/.opam/4.11.2/.opam-switch/build/ppx_sexp_conv.v0.14.3
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune build -p ppx_sexp_conv -j 3
# exit-code   1
# env-file    ~/.opam/log/ppx_sexp_conv-58621-b5f6b6.env
# output-file ~/.opam/log/ppx_sexp_conv-58621-b5f6b6.out
### output ###
# [...]
#       ocamlc expander/.ppx_sexp_conv_expander.objs/byte/ppx_sexp_conv_expander__Sexp_grammar_lifter.{cmi,cmo,cmt} (exit 2)
# (cd _build/default && /Users/eklavya/.opam/4.11.2/bin/ocamlc.opt -w -40 -g -bin-annot -I expander/.ppx_sexp_conv_expander.objs/byte -I /Users/eklavya/.opam/4.11.2/lib/base -I /Users/eklavya/.opam/4.11.2/lib/base/base_internalhash_types -I /Users/eklavya/.opam/4.11.2/lib/base/caml -I /Users/eklavya/.opam/4.11.2/lib/base/shadow_stdlib -I /Users/eklavya/.opam/4.11.2/lib/ocaml-compiler-libs/commo[...]
# File "expander/sexp_grammar_lifter.ml", line 6, characters 11-42:
# 6 |   type t = Sexp.Private.Raw_grammar.Atom.t =
#                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: Unbound module Sexp.Private.Raw_grammar
#       ocamlc runtime-lib/.ppx_sexp_conv_lib.objs/byte/ppx_sexp_conv_lib.{cmi,cmo,cmt} (exit 2)
# (cd _build/default && /Users/eklavya/.opam/4.11.2/bin/ocamlc.opt -w -40 -g -bin-annot -I runtime-lib/.ppx_sexp_conv_lib.objs/byte -I /Users/eklavya/.opam/4.11.2/lib/sexplib0 -no-alias-deps -o runtime-lib/.ppx_sexp_conv_lib.objs/byte/ppx_sexp_conv_lib.cmo -c -impl runtime-lib/ppx_sexp_conv_lib.ml)
# File "runtime-lib/ppx_sexp_conv_lib.ml", line 3, characters 23-53:
# 3 | module Lazy_group_id = Sexplib0.Private.Lazy_group_id
#                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: Unbound module Sexplib0.Private

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_sexp_conv v0.14.3
└─
β”Œβ”€ The following changes have been performed (the rest was aborted)
β”‚ ⊘ remove    jst-config                  v0.15~preview.124.21+407
β”‚ ⊘ remove    ppx_assert                  v0.15~preview.124.21+407
β”‚ ⊘ remove    ppx_base                    v0.15~preview.124.21+407
β”‚ ⊘ remove    ppx_disable_unused_warnings v0.15~preview.124.21+407
β”‚ ⊘ remove    ppx_hash                    v0.15~preview.124.21+407
β”‚ ⊘ remove    ppx_sexp_conv               v0.15~preview.124.21+407
β”‚ ⊘ remove    ppx_sexp_value              v0.15~preview.124.21+407
β”‚ ⊘ remove    sexp_pretty                 v0.15~preview.124.21+407
β”‚ β†˜ downgrade ppx_cold                    v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_compare                 v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_enumerate               v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_fixed_literal           v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_here                    v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_let                     v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_optional                v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_pipebang                v0.15~preview.124.21+407 to v0.14.0
β”‚ β†˜ downgrade ppx_stable                  v0.15~preview.124.21+407 to v0.14.1
β”‚ β†˜ downgrade ppx_variants_conv           v0.15~preview.124.21+407 to v0.14.1
β”‚ ↻ recompile ppx_js_style                v0.14.0
β”‚ β†— upgrade   ppxlib                      0.17.0 to 0.22.0
└─

The former state can be restored with:
    opam switch import "/Users/eklavya/.opam/4.11.2/.opam-switch/backup/state-20210510104813.export"
Or you can retry to install your package selection with:
    opam install --restore
ghost commented 3 years ago

Not sure what the exact issue is here, but in any case opam is trying to install the latest released version of Jane Street packages rather than the bleeding edge ones, which is probably not what you want.

bsdevlin commented 3 years ago

I think I'm having similar issues? When installing hardcaml lib it downgrades ppxlib to 0.17.0 and I get those errors:

# Error: The constructor Pconst_string expects 2 argument(s),
#        but is applied here to 3 argument(s)
#     ocamlopt src/.ppx_custom_printf.objs/native/ppx_custom_printf.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_custom_printf.objs/byte -I src/.ppx_custom_printf.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-[...]
# File "src/ppx_custom_printf.ml", line 267, characters 56-83:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 2 argument(s),
#        but is applied here to 3 argument(s)
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_custom_printf v0.15~preview.124.21+407
β”‚ Ξ» build ppx_fields_conv   v0.15~preview.124.21+407
β”‚ Ξ» build ppx_optcomp       v0.15~preview.124.21+407
β”‚ Ξ» build ppx_sexp_message  v0.15~preview.124.21+407
β”‚ Ξ» build ppx_string        v0.15~preview.124.21+407
β”‚ Ξ» build ppx_typerep_conv  v0.15~preview.124.21+407
└─
abhi18av commented 3 years ago

I have observed the same, I am able to upgrade ppxlib to 0.22 but while trying to install ecaml it downgrades to 0.17.

ghost commented 3 years ago

Hmm, it seems that the package in the repo still have a constraint on ppxlib < 0.18.0, which explains what you are observing. We fixed the contraint inside JS a while ago, but we have had issue exporting our code to github recently due to various compatibility issue.

Let see if we can push a quick fix.

ghost commented 3 years ago

Could you try #15?

bsdevlin commented 3 years ago

I tried installing hardcaml after switching my repo to #15 (124.18+348) but it still has problems - although ppxlib is staying at 0.22 now. Does this all look right below?

bsdevlin@LAPTOP-AL12KDU7:~$ opam repo
[NOTE] These are the repositories in use by the current switch. Use '--all' to see all configured repositories.

<><> Repository configuration for switch 4.11.1 <><><><><><><><><><><><><><><><>
 1 janestreet-bleeding-temp     git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
 2 janestreet-bleeding-external git+https://github.com/janestreet/opam-repository.git#external-packages
 3 default                      https://opam.ocaml.org

bsdevlin@LAPTOP-AL12KDU7:~$ opam install hardcaml
The following actions will be performed:
  βˆ— install ppx_optcomp       v0.15~preview.124.18+348 [required by bin_prot, ppx_jane]
  βˆ— install ppx_string        v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_sexp_message  v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_fields_conv   v0.15~preview.124.18+348 [required by bin_prot, ppx_jane]
  βˆ— install ppx_typerep_conv  v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_custom_printf v0.15~preview.124.18+348 [required by bin_prot, ppx_jane]
  βˆ— install time_now          v0.15~preview.124.18+348 [required by ppx_module_timer]
  βˆ— install bin_prot          v0.15~preview.124.18+348 [required by hardcaml]
  βˆ— install ppx_module_timer  v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_inline_test   v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_bin_prot      v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_expect        v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_bench         v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install splittable_random v0.15~preview.124.18+348 [required by base_quickcheck]
  βˆ— install base_quickcheck   v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_jane          v0.15~preview.124.18+348 [required by hardcaml]
  βˆ— install topological_sort  v0.15~preview.124.18+348 [required by hardcaml]
  βˆ— install hardcaml          v0.15~preview.124.18+348
===== βˆ— 18 =====
Do you want to continue? [Y/n] Y

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[base_quickcheck.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/base_quickcheck/archive/abc235eedeafeac7c6aa75289d2f737a8143b5a4.tar.gz
[bin_prot.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/bin_prot/archive/754fd507eb94fbf88f633aed7cec672e7259d180.tar.gz
[hardcaml.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/hardcaml/archive/0603cd8a22fbfe340a4b546e3c56f259a5f4a433.tar.gz
[ppx_bench.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_bench/archive/dfccd0d1bb87bbbe061b9c64b9fb18d0898fa91c.tar.gz
[ppx_bin_prot.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_bin_prot/archive/4c1ff5eafa1780721e16dad0ffcc2a67e34e1d2e.tar.gz
[ppx_custom_printf.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_custom_printf/archive/8fd20330f36486aacfe76029b83bec25c49f4e96.tar.gz
[ppx_expect.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_expect/archive/6c819582fce4a2b97f852cdd4e2f5d294a42c1d8.tar.gz
[ppx_fields_conv.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_fields_conv/archive/6e4f075f0151a107c8a64bbc64ff580c2382d7f0.tar.gz
[ppx_inline_test.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_inline_test/archive/dfc7b2780da275ca434db8b3891cb08458cd4320.tar.gz
[ppx_jane.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_jane/archive/6c1a2285aece135cd36676825fc1941b60290ccf.tar.gz
[ppx_module_timer.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_module_timer/archive/ebbee1bf86aa7794d66e642becdc1e50186bd301.tar.gz
[ppx_optcomp.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_optcomp/archive/1aa8bb5831b746c1218a396403431a42f533173d.tar.gz
[ppx_sexp_message.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_sexp_message/archive/c0b1a5366adfd97330d8da8d2cea2b8e6a1b62bd.tar.gz
[ppx_string.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_string/archive/79cdd2b5c368a717d69c316b824393f43a74ec6c.tar.gz
[ppx_typerep_conv.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_typerep_conv/archive/fe9e47a75c004c4d765722848d6de29ef1cf830d.tar.gz
[splittable_random.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/splittable_random/archive/3d6c44ebcef6d59fdc606933796f86c71c02cc17.tar.gz
[time_now.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/time_now/archive/e9901a6ee11567c82dd264b2d7ffbb4be1dd55c2.tar.gz
[topological_sort.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/topological_sort/archive/534bc07fd5f19f9ca10ef61cce670ccfb175b15e.tar.gz

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of ppx_optcomp failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_optcomp -j 7".
[ERROR] The compilation of ppx_fields_conv failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_fields_conv -j 7".
[ERROR] The compilation of ppx_typerep_conv failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_typerep_conv -j 7".
[ERROR] The compilation of ppx_sexp_message failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_sexp_message -j 7".
[ERROR] The compilation of ppx_string failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_string -j 7".
[ERROR] The compilation of ppx_custom_printf failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_custom_printf -j 7".

#=== ERROR while compiling ppx_typerep_conv.v0.15~preview.124.18+348 ==========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_typerep_conv.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_typerep_conv -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_typerep_conv-21287-500ebf.env
# output-file ~/.opam/log/ppx_typerep_conv-21287-500ebf.out
### output ###
# [...]
# File "src/ppx_typerep_conv.ml", line 236, characters 47-56:
# 236 |           ~f:(fun name -> (ptyp_var ~loc name, Invariant))
#                                                      ^^^^^^^^^
# Error: Unbound constructor Invariant
# Hint: Did you mean Covariant?
#     ocamlopt src/.ppx_typerep_conv.objs/native/ppx_typerep_conv.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_typerep_conv.objs/byte -I src/.ppx_typerep_conv.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-co[...]
# File "src/ppx_typerep_conv.ml", line 236, characters 47-56:
# 236 |           ~f:(fun name -> (ptyp_var ~loc name, Invariant))
#                                                      ^^^^^^^^^
# Error: Unbound constructor Invariant
# Hint: Did you mean Covariant?

#=== ERROR while compiling ppx_string.v0.15~preview.124.18+348 ================#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_string.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_string -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_string-21287-e01aa9.env
# output-file ~/.opam/log/ppx_string-21287-e01aa9.out
### output ###
# [...]
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_string.objs/byte -I src/.ppx_string.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-compiler-libs/[...]
# File "src/ppx_string.ml", line 204, characters 43-65:
# 204 |             pstr (pstr_eval (pexp_constant (pconst_string __' __)) nil ^:: nil))
#                                                  ^^^^^^^^^^^^^^^^^^^^^^
# Error: This expression has type
#          (string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
#          (Ppxlib__.Import.constant,
#           string Ppxlib__.Loc.t -> Ppxlib__.Import.location -> 'a, 'b)
#          Ppxlib__.Ast_pattern0.t
#        but an expression was expected of type
#          (Ppxlib__.Import.constant, 'c, 'd) Ppxlib__.Ast_pattern0.t =
#            (Ppxlib__.Import.constant, 'c, 'd) Ppxlib__Ast_pattern0.t

#=== ERROR while compiling ppx_sexp_message.v0.15~preview.124.18+348 ==========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_sexp_message.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_sexp_message -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_sexp_message-21287-462d2b.env
# output-file ~/.opam/log/ppx_sexp_message-21287-462d2b.out
### output ###
# [...]
# File "expander/ppx_sexp_message_expander.ml", line 100, characters 18-41:
# 100 |   | Pexp_constant (Pconst_string ("", _)) -> Absent
#                         ^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)
#     ocamlopt expander/.ppx_sexp_message_expander.objs/native/ppx_sexp_message_expander.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I expander/.ppx_sexp_message_expander.objs/byte -I expander/.ppx_sexp_message_expander.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevl[...]
# File "expander/ppx_sexp_message_expander.ml", line 100, characters 18-41:
# 100 |   | Pexp_constant (Pconst_string ("", _)) -> Absent
#                         ^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

#=== ERROR while compiling ppx_optcomp.v0.15~preview.124.18+348 ===============#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_optcomp.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_optcomp -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_optcomp-21287-418370.env
# output-file ~/.opam/log/ppx_optcomp-21287-418370.out
### output ###
#       ocamlc src/.ppx_optcomp.objs/byte/ppx_optcomp__Interpreter.{cmi,cmo,cmt} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlc.opt -w -40 -g -bin-annot -I src/.ppx_optcomp.objs/byte -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-compiler-libs/common -I /home/bsdev[...]
# File "src/interpreter.ml", line 251, characters 18-43:
# 251 |   | Pexp_constant (Pconst_string (x, _   )) -> String x
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

#=== ERROR while compiling ppx_fields_conv.v0.15~preview.124.18+348 ===========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_fields_conv.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_fields_conv -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_fields_conv-21287-ae662f.env
# output-file ~/.opam/log/ppx_fields_conv-21287-ae662f.out
### output ###
# [...]
# File "src/ppx_fields_conv.ml", line 38, characters 23-47:
# 38 |     pexp_constant ~loc (Pconst_string (s,None))
#                             ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)
#     ocamlopt src/.ppx_fields_conv.objs/native/ppx_fields_conv.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_fields_conv.objs/byte -I src/.ppx_fields_conv.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-comp[...]
# File "src/ppx_fields_conv.ml", line 38, characters 23-47:
# 38 |     pexp_constant ~loc (Pconst_string (s,None))
#                             ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

#=== ERROR while compiling ppx_custom_printf.v0.15~preview.124.18+348 =========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_custom_printf.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_custom_printf -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_custom_printf-21287-f9e6ac.env
# output-file ~/.opam/log/ppx_custom_printf-21287-f9e6ac.out
### output ###
# [...]
# File "src/ppx_custom_printf.ml", line 267, characters 56-80:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)
#     ocamlopt src/.ppx_custom_printf.objs/native/ppx_custom_printf.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_custom_printf.objs/byte -I src/.ppx_custom_printf.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-[...]
# File "src/ppx_custom_printf.ml", line 267, characters 56-80:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_custom_printf v0.15~preview.124.18+348
β”‚ Ξ» build ppx_fields_conv   v0.15~preview.124.18+348
β”‚ Ξ» build ppx_optcomp       v0.15~preview.124.18+348
β”‚ Ξ» build ppx_sexp_message  v0.15~preview.124.18+348
β”‚ Ξ» build ppx_string        v0.15~preview.124.18+348
β”‚ Ξ» build ppx_typerep_conv  v0.15~preview.124.18+348
└─
╢─ No changes have been performed

bsdevlin@LAPTOP-AL12KDU7:~$ opam list | grep 'ppxlib'
ppxlib                      0.22.0                   Standard library for ppx rewriters
ghost commented 3 years ago

Hmm, 0.22.0 is using the 4.12 AST, so it might be too recent. I updated #15 with a upper bound. Could you try again?

bsdevlin commented 3 years ago

Yeah still seem to be having problems - it downgraded to 0.21 but still a few libraries failing (less than before, now ppx_typerep_conv builds).

bsdevlin@LAPTOP-AL12KDU7:~$ opam update
...

bsdevlin@LAPTOP-AL12KDU7:~$ opam upgrade --fixup
The following actions will be performed:
  β†˜ downgrade ppxlib                      0.22.0 to 0.21.0
  ↻ recompile ppx_variants_conv           v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_stable                  v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_sexp_conv               v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_pipebang                v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_optional                v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_let                     v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_js_style                v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_here                    v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_fixed_literal           v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_enumerate               v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_disable_unused_warnings v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_compare                 v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_cold                    v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_sexp_value              v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_hash                    v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_assert                  v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile ppx_base                    v0.15~preview.124.18+348 [uses ppxlib]
  ↻ recompile jst-config                  v0.15~preview.124.18+348 [uses ppx_assert]
===== ↻ 18   β†˜ 1 =====
Do you want to continue? [Y/n] Y

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[jst-config.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/jst-config/archive/b52edf1bbe0478438db9a9ada53e320a4d9ce341.tar.gz
[ppx_assert.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_assert/archive/78f9989cc38a938cfe4659dd4cdf8327dd331284.tar.gz
[ppx_base.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_base/archive/f2ceb1355fc8da8303b2c009325e430e0252fd49.tar.gz
[ppx_cold.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_cold/archive/57f999bee4a30c42951ebdd51d3b5bef30f957d1.tar.gz
[ppx_compare.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_compare/archive/7c2e51ad898b7ab491f34fbe8d3c5a8d0b054857.tar.gz
[ppx_disable_unused_warnings.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_disable_unused_warnings/archive/b5b752c4271efb9143375e0bf52b51a4aff5696b.tar.gz
[ppx_enumerate.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_enumerate/archive/636e818e2288f14726123a2dd41828cf297d26d4.tar.gz
[ppx_fixed_literal.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_fixed_literal/archive/15357bea3d84704b554d8e9d0fa64c17a05deed3.tar.gz
[ppx_hash.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_hash/archive/a5fcf401d79bc75cc443f9b741d59b1c2e3ba1f2.tar.gz
[ppx_here.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_here/archive/3dc2a41c80950375582241d1c99ca383b4fbda44.tar.gz
[ppx_js_style.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_js_style/archive/09c5d54617a7d93b111ca1099b8108fe105a8d0a.tar.gz
[ppx_let.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_let/archive/117d36e800df3d573f5932276402ff806643adc7.tar.gz
[ppx_optional.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_optional/archive/ca28eff19fd6adc3c9436e857bf4e1c110c58994.tar.gz
[ppx_pipebang.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_pipebang/archive/6196cd54e7bca1b57e3ab4ad1148d99c7519ab69.tar.gz
[ppx_sexp_conv.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_sexp_conv/archive/d964644425a8d1c3044056835b10da77d2fb2c66.tar.gz
[ppx_sexp_value.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_sexp_value/archive/8cdeb71e4267926f87b8b4f02f9ac4d26c658784.tar.gz
[ppx_stable.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_stable/archive/56749267ad95181ce08fc575cc1688ccca4a4424.tar.gz
[ppx_variants_conv.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_variants_conv/archive/1d39a585d6eee86837b412b7c2497f7fcc4ffe83.tar.gz
[ppxlib.0.21.0] found in cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⊘ removed   jst-config.v0.15~preview.124.18+348
⊘ removed   ppx_assert.v0.15~preview.124.18+348
⊘ removed   ppx_base.v0.15~preview.124.18+348
⊘ removed   ppx_cold.v0.15~preview.124.18+348
⊘ removed   ppx_disable_unused_warnings.v0.15~preview.124.18+348
⊘ removed   ppx_enumerate.v0.15~preview.124.18+348
⊘ removed   ppx_fixed_literal.v0.15~preview.124.18+348
⊘ removed   ppx_hash.v0.15~preview.124.18+348
⊘ removed   ppx_compare.v0.15~preview.124.18+348
⊘ removed   ppx_js_style.v0.15~preview.124.18+348
⊘ removed   ppx_let.v0.15~preview.124.18+348
⊘ removed   ppx_optional.v0.15~preview.124.18+348
⊘ removed   ppx_pipebang.v0.15~preview.124.18+348
⊘ removed   ppx_sexp_value.v0.15~preview.124.18+348
⊘ removed   ppx_here.v0.15~preview.124.18+348
⊘ removed   ppx_sexp_conv.v0.15~preview.124.18+348
⊘ removed   ppx_stable.v0.15~preview.124.18+348
⊘ removed   ppx_variants_conv.v0.15~preview.124.18+348
⊘ removed   ppxlib.0.22.0
βˆ— installed ppxlib.0.21.0
βˆ— installed ppx_cold.v0.15~preview.124.18+348
βˆ— installed ppx_compare.v0.15~preview.124.18+348
βˆ— installed ppx_disable_unused_warnings.v0.15~preview.124.18+348
βˆ— installed ppx_enumerate.v0.15~preview.124.18+348
βˆ— installed ppx_fixed_literal.v0.15~preview.124.18+348
βˆ— installed ppx_here.v0.15~preview.124.18+348
βˆ— installed ppx_js_style.v0.15~preview.124.18+348
βˆ— installed ppx_let.v0.15~preview.124.18+348
βˆ— installed ppx_optional.v0.15~preview.124.18+348
βˆ— installed ppx_pipebang.v0.15~preview.124.18+348
βˆ— installed ppx_sexp_conv.v0.15~preview.124.18+348
βˆ— installed ppx_stable.v0.15~preview.124.18+348
βˆ— installed ppx_variants_conv.v0.15~preview.124.18+348
βˆ— installed ppx_hash.v0.15~preview.124.18+348
βˆ— installed ppx_assert.v0.15~preview.124.18+348
βˆ— installed ppx_sexp_value.v0.15~preview.124.18+348
βˆ— installed ppx_base.v0.15~preview.124.18+348
βˆ— installed jst-config.v0.15~preview.124.18+348
Done.
bsdevlin@LAPTOP-AL12KDU7:~$ opam install hardcaml
The following actions will be performed:
  βˆ— install ppx_optcomp       v0.15~preview.124.18+348 [required by bin_prot, ppx_jane]
  βˆ— install ppx_string        v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_sexp_message  v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_fields_conv   v0.15~preview.124.18+348 [required by bin_prot, ppx_jane]
  βˆ— install ppx_typerep_conv  v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_custom_printf v0.15~preview.124.18+348 [required by bin_prot, ppx_jane]
  βˆ— install time_now          v0.15~preview.124.18+348 [required by ppx_module_timer]
  βˆ— install bin_prot          v0.15~preview.124.18+348 [required by hardcaml]
  βˆ— install ppx_module_timer  v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_inline_test   v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_bin_prot      v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_expect        v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_bench         v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install splittable_random v0.15~preview.124.18+348 [required by base_quickcheck]
  βˆ— install base_quickcheck   v0.15~preview.124.18+348 [required by ppx_jane]
  βˆ— install ppx_jane          v0.15~preview.124.18+348 [required by hardcaml]
  βˆ— install topological_sort  v0.15~preview.124.18+348 [required by hardcaml]
  βˆ— install hardcaml          v0.15~preview.124.18+348
===== βˆ— 18 =====
Do you want to continue? [Y/n] Y

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[base_quickcheck.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/base_quickcheck/archive/abc235eedeafeac7c6aa75289d2f737a8143b5a4.tar.gz
[bin_prot.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/bin_prot/archive/754fd507eb94fbf88f633aed7cec672e7259d180.tar.gz
[hardcaml.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/hardcaml/archive/0603cd8a22fbfe340a4b546e3c56f259a5f4a433.tar.gz
[ppx_bench.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_bench/archive/dfccd0d1bb87bbbe061b9c64b9fb18d0898fa91c.tar.gz
[ppx_bin_prot.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_bin_prot/archive/4c1ff5eafa1780721e16dad0ffcc2a67e34e1d2e.tar.gz
[ppx_custom_printf.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_custom_printf/archive/8fd20330f36486aacfe76029b83bec25c49f4e96.tar.gz
[ppx_expect.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_expect/archive/6c819582fce4a2b97f852cdd4e2f5d294a42c1d8.tar.gz
[ppx_fields_conv.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_fields_conv/archive/6e4f075f0151a107c8a64bbc64ff580c2382d7f0.tar.gz
[ppx_inline_test.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_inline_test/archive/dfc7b2780da275ca434db8b3891cb08458cd4320.tar.gz
[ppx_jane.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_jane/archive/6c1a2285aece135cd36676825fc1941b60290ccf.tar.gz
[ppx_module_timer.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_module_timer/archive/ebbee1bf86aa7794d66e642becdc1e50186bd301.tar.gz
[ppx_optcomp.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_optcomp/archive/1aa8bb5831b746c1218a396403431a42f533173d.tar.gz
[ppx_sexp_message.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_sexp_message/archive/c0b1a5366adfd97330d8da8d2cea2b8e6a1b62bd.tar.gz
[ppx_string.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_string/archive/79cdd2b5c368a717d69c316b824393f43a74ec6c.tar.gz
[ppx_typerep_conv.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/ppx_typerep_conv/archive/fe9e47a75c004c4d765722848d6de29ef1cf830d.tar.gz
[time_now.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/time_now/archive/e9901a6ee11567c82dd264b2d7ffbb4be1dd55c2.tar.gz
[topological_sort.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/topological_sort/archive/534bc07fd5f19f9ca10ef61cce670ccfb175b15e.tar.gz
[splittable_random.v0.15~preview.124.18+348] downloaded from https://github.com/janestreet/splittable_random/archive/3d6c44ebcef6d59fdc606933796f86c71c02cc17.tar.gz

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of ppx_optcomp failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_optcomp -j 7".
[ERROR] The compilation of ppx_fields_conv failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_fields_conv -j 7".
[ERROR] The compilation of ppx_sexp_message failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_sexp_message -j 7".
[ERROR] The compilation of ppx_custom_printf failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_custom_printf -j 7".
[ERROR] The compilation of ppx_string failed at "/home/bsdevlin/.opam/4.11.1/bin/dune build -p ppx_string -j 7".
βˆ— installed ppx_typerep_conv.v0.15~preview.124.18+348

#=== ERROR while compiling ppx_string.v0.15~preview.124.18+348 ================#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_string.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_string -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_string-6944-e01aa9.env
# output-file ~/.opam/log/ppx_string-6944-e01aa9.out
### output ###
# [...]
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_string.objs/byte -I src/.ppx_string.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-compiler-libs/[...]
# File "src/ppx_string.ml", line 204, characters 43-65:
# 204 |             pstr (pstr_eval (pexp_constant (pconst_string __' __)) nil ^:: nil))
#                                                  ^^^^^^^^^^^^^^^^^^^^^^
# Error: This expression has type
#          (string option, 'a, 'b) Ppxlib__.Ast_pattern0.t ->
#          (Ppxlib__.Import.constant,
#           string Ppxlib__.Loc.t -> Ppxlib__.Import.location -> 'a, 'b)
#          Ppxlib__.Ast_pattern0.t
#        but an expression was expected of type
#          (Ppxlib__.Import.constant, 'c, 'd) Ppxlib__.Ast_pattern0.t =
#            (Ppxlib__.Import.constant, 'c, 'd) Ppxlib__Ast_pattern0.t

#=== ERROR while compiling ppx_sexp_message.v0.15~preview.124.18+348 ==========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_sexp_message.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_sexp_message -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_sexp_message-6944-462d2b.env
# output-file ~/.opam/log/ppx_sexp_message-6944-462d2b.out
### output ###
# [...]
# File "expander/ppx_sexp_message_expander.ml", line 100, characters 18-41:
# 100 |   | Pexp_constant (Pconst_string ("", _)) -> Absent
#                         ^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)
#     ocamlopt expander/.ppx_sexp_message_expander.objs/native/ppx_sexp_message_expander.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I expander/.ppx_sexp_message_expander.objs/byte -I expander/.ppx_sexp_message_expander.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevl[...]
# File "expander/ppx_sexp_message_expander.ml", line 100, characters 18-41:
# 100 |   | Pexp_constant (Pconst_string ("", _)) -> Absent
#                         ^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

#=== ERROR while compiling ppx_optcomp.v0.15~preview.124.18+348 ===============#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_optcomp.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_optcomp -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_optcomp-6944-418370.env
# output-file ~/.opam/log/ppx_optcomp-6944-418370.out
### output ###
#       ocamlc src/.ppx_optcomp.objs/byte/ppx_optcomp__Interpreter.{cmi,cmo,cmt} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlc.opt -w -40 -g -bin-annot -I src/.ppx_optcomp.objs/byte -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-compiler-libs/common -I /home/bsdev[...]
# File "src/interpreter.ml", line 251, characters 18-43:
# 251 |   | Pexp_constant (Pconst_string (x, _   )) -> String x
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

#=== ERROR while compiling ppx_fields_conv.v0.15~preview.124.18+348 ===========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_fields_conv.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_fields_conv -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_fields_conv-6944-ae662f.env
# output-file ~/.opam/log/ppx_fields_conv-6944-ae662f.out
### output ###
# [...]
# File "src/ppx_fields_conv.ml", line 38, characters 23-47:
# 38 |     pexp_constant ~loc (Pconst_string (s,None))
#                             ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)
#     ocamlopt src/.ppx_fields_conv.objs/native/ppx_fields_conv.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_fields_conv.objs/byte -I src/.ppx_fields_conv.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-comp[...]
# File "src/ppx_fields_conv.ml", line 38, characters 23-47:
# 38 |     pexp_constant ~loc (Pconst_string (s,None))
#                             ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

#=== ERROR while compiling ppx_custom_printf.v0.15~preview.124.18+348 =========#
# context     2.0.5 | linux/x86_64 | ocaml-base-compiler.4.11.1 | git+https://github.com/janestreet/opam-repository.git#fix-ppxlib-constraints
# path        ~/.opam/4.11.1/.opam-switch/build/ppx_custom_printf.v0.15~preview.124.18+348
# command     ~/.opam/4.11.1/bin/dune build -p ppx_custom_printf -j 7
# exit-code   1
# env-file    ~/.opam/log/ppx_custom_printf-6944-f9e6ac.env
# output-file ~/.opam/log/ppx_custom_printf-6944-f9e6ac.out
### output ###
# [...]
# File "src/ppx_custom_printf.ml", line 267, characters 56-80:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)
#     ocamlopt src/.ppx_custom_printf.objs/native/ppx_custom_printf.{cmx,o} (exit 2)
# (cd _build/default && /home/bsdevlin/.opam/4.11.1/bin/ocamlopt.opt -w -40 -g -I src/.ppx_custom_printf.objs/byte -I src/.ppx_custom_printf.objs/native -I /home/bsdevlin/.opam/4.11.1/lib/base -I /home/bsdevlin/.opam/4.11.1/lib/base/base_internalhash_types -I /home/bsdevlin/.opam/4.11.1/lib/base/caml -I /home/bsdevlin/.opam/4.11.1/lib/base/shadow_stdlib -I /home/bsdevlin/.opam/4.11.1/lib/ocaml-[...]
# File "src/ppx_custom_printf.ml", line 267, characters 56-80:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 3 argument(s),
#        but is applied here to 2 argument(s)

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_custom_printf v0.15~preview.124.18+348
β”‚ Ξ» build ppx_fields_conv   v0.15~preview.124.18+348
β”‚ Ξ» build ppx_optcomp       v0.15~preview.124.18+348
β”‚ Ξ» build ppx_sexp_message  v0.15~preview.124.18+348
β”‚ Ξ» build ppx_string        v0.15~preview.124.18+348
└─
β”Œβ”€ The following changes have been performed (the rest was aborted)
β”‚ βˆ— install ppx_typerep_conv v0.15~preview.124.18+348
└─

The former state can be restored with:
    opam switch import "/home/bsdevlin/.opam/4.11.1/.opam-switch/backup/state-20210512145118.export"
Or you can retry to install your package selection with:
    opam install --restore
abhi18av commented 3 years ago

I can confirm that even when I have tried to setup on of the latest Jane Street packages ( ecaml ) on a new linux machine, with ocaml 4.12.0 using the fix-ppxlib-constraints - the following packages still refuse to build


<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
β”Œβ”€ The following actions failed
β”‚ Ξ» build ppx_custom_printf v0.15~preview.124.21+407
β”‚ Ξ» build ppx_fields_conv   v0.15~preview.124.21+407
β”‚ Ξ» build ppx_optcomp       v0.15~preview.124.21+407
β”‚ Ξ» build ppx_sexp_message  v0.15~preview.124.21+407
β”‚ Ξ» build ppx_string        v0.15~preview.124.21+407
β”‚ Ξ» build ppx_typerep_conv  v0.15~preview.124.21+407
└─ 

The error message is similar in all cases


#=== ERROR while compiling ppx_custom_printf.v0.15~preview.124.21+407 =========#
# context     2.0.8 | linux/x86_64 | ocaml-base-compiler.4.12.0 | https://ocaml.janestreet.com/opam-repository#fix-ppxlib-constraints
# path        ~/.opam/default/.opam-switch/build/ppx_custom_printf.v0.15~preview.124.21+407
# command     ~/.opam/default/bin/dune build -p ppx_custom_printf -j 3
# exit-code   1
# env-file    ~/.opam/log/ppx_custom_printf-28893-62c920.env
# output-file ~/.opam/log/ppx_custom_printf-28893-62c920.out
### output ###
# [...]                                                                                                                   
# File "src/ppx_custom_printf.ml", line 267, characters 56-83:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 2 argument(s),
#        but is applied here to 3 argument(s)
#     ocamlopt src/.ppx_custom_printf.objs/native/ppx_custom_printf.{cmx,o} (exit 2)
# (cd _build/default && /home/eklavya/.opam/default/bin/ocamlopt.opt -w -40 -g -I src/.ppx_custom_printf.objs/byte -I src/.ppx_custom_printf.objs/native -I /home/eklavya/.opam/default/lib/base -I /home/eklavya/.opam/default/lib/base/base_internalhash_types -I /home/eklavya/.opam/default/lib/base/caml -I /home/eklavya/.opam/default/lib/base/shadow_stdlib -I /home/eklavya/.opam/default/lib/ocaml-[...]
# File "src/ppx_custom_printf.ml", line 267, characters 56-83:
# 267 |                 [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _, _))
#                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: The constructor Pconst_string expects 2 argument(s),
#        but is applied here to 3 argument(s)
ghost commented 3 years ago

What version of ppxlib do you have installed when you observe this failure?

abhi18av commented 3 years ago

ppxlib 0.22.0 is the version.

I suspect that this is happening because in those package the hard limit is set to be < 0.18.0 for ppxlib.

ghost commented 3 years ago

I can't make sense of the error message. ppxlib 0.22.0 uses the 4.12 ast, where Pconst_string as 3 arguments. Something else must be going on.

This should get fixed once we resume our regular push to github. In the meantime, I suggest that you try an older revision of this repository. v0.15~preview.124.20+432 seems to be the commit that changed these Pconst_string, so I'd try any commit before that.

yminsky commented 3 years ago

This is kind of a dumb question, but, how do I do the pinning in opam? The command suggested in the README has no obvious place to stick a version number:

opam repo add janestreet-bleeding https://ocaml.janestreet.com/opam-repository

I'm kind of an opam noob, I'm afraid...

ghost commented 3 years ago

I believe you can do:

$ opam repo add janestreet-bleeding 'https://ocaml.janestreet.com/opam-repository#TAG'