Skip to content

3.8.0 regression: Error: Library "ppx_deriving_runtime" not found. #7875

@hannesm

Description

@hannesm

Expected Behavior

Compilation succeeds, exit code should be 0, and dist/caldav.hvt should exist.

Actual Behavior

Compilation failure:

#=== ERROR while compiling mirage-unikernel-caldav-hvt.0.0.2 ==================#
# context              2.1.5 | freebsd/x86_64 |  | git+https://git.robur.coop/robur/unikernel-repo.git
# path                 /tmp/orb-build
# command              /bin/sh -exc cd mirage/ && mirage build
# exit-code            1
# env-file             /tmp/opam-hannes-12430/mirage-unikernel-caldav-hvt-12430-857f4b.env
# output-file          /tmp/opam-hannes-12430/mirage-unikernel-caldav-hvt-12430-857f4b.out
### output ###
# + cd mirage/
# + mirage build
# File "duniverse/ppx_deriving/src/api/dune", line 7, characters 24-44:
# 7 |  (ppx_runtime_libraries ppx_deriving_runtime)
#                             ^^^^^^^^^^^^^^^^^^^^
# Error: Library "ppx_deriving_runtime" not found.
# -> required by library "ppx_deriving.api" in
#    _build/default/duniverse/ppx_deriving/src/api
# -> required by library "caldav" in _build/solo5/duniverse/caldav/src
# -> required by executable main in dune.build:7
# -> required by _build/solo5/main.exe
# -> required by alias all (context solo5)
# -> required by alias default (context solo5)
# Generating static_caldavzap.ml
# Generating static_caldavzap.mli
# Generating static_tls.ml
# Generating static_tls.mli
# Generating static_caldavzap.ml
# Generating static_caldavzap.mli
# Generating static_tls.ml
# Generating static_tls.mli

No artifacts are produced, exit code is non-zero.

Reproduction

I'm sorry it's likely this can be minimized, but I fail to understand how to best minimize the reproduction case.
Start with an empty switch (OCaml 4.14.1 here), and follow the steps:

$ opam install mirage ocaml-solo5
$ git clone https://github.com/roburio/caldav.git
$ cd caldav/mirage
$ mirage configure -t hvt
$ make lock pull build

Now the above error appears. Doing the very same with a dune 3.7.1 succeeds. I'm sure you've a good idea what changed internally that suddenly a library is no longer found (in both cases, a grep -r ppx_deriving_runtime duniverse/ returns the exact same results).

Specifications

  • Version of dune (output of dune --version): 3.8.0
  • Version of ocaml (output of ocamlc --version) 4.14.1
  • Operating system (distribution and version): FreeBSD 13.1/amd64

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions