Skip to content

Package ocsigen-i18n.5.0.0#29643

Merged
mseri merged 2 commits intoocaml:masterfrom
balat:opam-publish-ocsigen-i18n.5.0.0
Apr 13, 2026
Merged

Package ocsigen-i18n.5.0.0#29643
mseri merged 2 commits intoocaml:masterfrom
balat:opam-publish-ocsigen-i18n.5.0.0

Conversation

@balat
Copy link
Copy Markdown
Contributor

@balat balat commented Apr 3, 2026

ocsigen-i18n.5.0.0

Internationalisation of OCaml apps
Provides executables: ocsigen-i18n for generating an OCaml file from a file containing tab-separated values; ocsigen-i18n-rewriter for implementing a PPX syntax for referencing entries in the generated OCaml file



🐫 Pull-request generated by opam-publish v3.0.0

balat added 2 commits April 3, 2026 16:34
ocsigen-i18n 5.0.0 generates [@@deriving json] directly in --eliom
mode. All ocsigen-start versions that depend on ocsigen-i18n have a
sed post-processing step that also adds [@@deriving json], causing
duplication and a compilation error.

Add < 5.0.0 upper bound on all affected versions (4.4.0 through 8.0.0).
Also remove duplicate ocsigen-i18n dependency entries.
@mseri
Copy link
Copy Markdown
Member

mseri commented Apr 4, 2026

Ocsigen-start builds are failing with:

#=== ERROR while compiling js_of_ocaml-compiler.5.7.0 =========================#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.4.14.3 | file:///home/opam/opam-repository
# path                 ~/.opam/4.14/.opam-switch/build/js_of_ocaml-compiler.5.7.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p js_of_ocaml-compiler -j 71 @install
# exit-code            1
# env-file             ~/.opam/log/js_of_ocaml-compiler-7-ebec44.env
# output-file          ~/.opam/log/js_of_ocaml-compiler-7-ebec44.out
### output ###
# (cd tools/version && /home/opam/.opam/4.14/bin/ocaml -I +compiler-libs /home/opam/.opam/4.14/.opam-switch/build/js_of_ocaml-compiler.5.7.0/_build/.dune/default/tools/version/dune.ml)
# fatal: not a git repository (or any parent up to mount point /)
# Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlc.opt -w -40 -w -7-37 -safe-string -g -bin-annot -I compiler/lib/.js_of_ocaml_compiler.objs/byte -I /home/opam/.opam/4.14/lib/gen -I /home/opam/.opam/4.14/lib/menhirLib -I /home/opam/.opam/4.14/lib/ocaml/compiler-libs -I /home/opam/.opam/4.14/lib/sedlex -I /home/opam/.opam/4.14/lib/seq -I /home/opam/.opam/4.14/lib/yojson -intf-suffix .ml -no-alias-deps -open Js_of_ocaml_compiler -o compiler/lib/.js_of_ocaml_compiler.objs/byte/js_of_ocaml_compiler__Parse_bytecode.cmo -c -impl compiler/lib/parse_bytecode.pp.ml)
# File "compiler/lib/parse_bytecode.ml", line 276, characters 14-20:
# 276 |           env.ce_rec
#                     ^^^^^^
# Error: This expression has type Instruct.compilation_env
#        There is no field ce_rec within type Instruct.compilation_env
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlopt.opt -w -40 -w -7-37 -safe-string -g -I compiler/lib/.js_of_ocaml_compiler.objs/byte -I compiler/lib/.js_of_ocaml_compiler.objs/native -I /home/opam/.opam/4.14/lib/gen -I /home/opam/.opam/4.14/lib/menhirLib -I /home/opam/.opam/4.14/lib/ocaml/compiler-libs -I /home/opam/.opam/4.14/lib/sedlex -I /home/opam/.opam/4.14/lib/seq -I /home/opam/.opam/4.14/lib/yojson -intf-suffix .ml -no-alias-deps -open Js_of_ocaml_compiler -o compiler/lib/.js_of_ocaml_compiler.objs/native/js_of_ocaml_compiler__Parse_bytecode.cmx -c -impl compiler/lib/parse_bytecode.pp.ml)
# File "compiler/lib/parse_bytecode.ml", line 276, characters 14-20:
# 276 |           env.ce_rec
#                     ^^^^^^
# Error: This expression has type Instruct.compilation_env
#        There is no field ce_rec within type Instruct.compilation_env

which seems unrelated, but do you know where it comes from or how it could be fixed?

@jmid jmid added the question label Apr 4, 2026
@balat
Copy link
Copy Markdown
Contributor Author

balat commented Apr 8, 2026

It's a known js_of_ocaml incompatibility with OCaml 4.14.3: see ocsigen/js_of_ocaml#1843. The ce_rec field was removed from Instruct.compilation_env in OCaml 4.14.3

@balat
Copy link
Copy Markdown
Contributor Author

balat commented Apr 10, 2026

Hi @mseri, thanks for the fix in #29692. It looks like js_of_ocaml-compiler.5.6.0 (and possibly 5.5.2 and earlier 5.x versions) fail with the same ce_rec error ...

mseri added a commit to mseri/opam-repository that referenced this pull request Apr 13, 2026
See ocaml#29643

Signed-off-by: Marcello Seri <marcello.seri@gmail.com>
@mseri
Copy link
Copy Markdown
Member

mseri commented Apr 13, 2026

Indeed, I had kept it open to check if more where needed. I opened a new PR, let's see if this is enough

@mseri
Copy link
Copy Markdown
Member

mseri commented Apr 13, 2026

This seems to have fixed it now :)

@mseri
Copy link
Copy Markdown
Member

mseri commented Apr 13, 2026

Thanks for the patience

@mseri mseri merged commit bd8693d into ocaml:master Apr 13, 2026
3 of 4 checks passed
@balat
Copy link
Copy Markdown
Contributor Author

balat commented Apr 13, 2026

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants