I have a custom test in my code base that is defined this way:
(libraries yojson stork test_utils)
(:standard -linkall -g -open StdLabels -w +A-48-42-40-70)))
It worked without problem before but since I upgraded lang dune from 2.9 to 3.3, it complains with the following error:
File "test/single_version/dune", line 18, characters 8-25:
18 | (names test_json_parsing)
Fatal error: exception Sys_error("single_version_1.json: No such file or directory")
Did dune change the way dependency files are supposed to be defined?
Thanks for your help
edit: updated with my findings, this issue is related to lang dune and not dune version itself.
There have been changes in the sandboxing mechanism (how files are copied in a temporary directory) but I don’t think that it should change how this particular dune file is interpreted. It looks correct to me. In other words, I think that it’s a dune bug. Can you report it here? Thanks!
ok thanks, I’ll file an issue, it’s an open source project anyway so there’s no problem in sharing the context.
edit: filed here
For information, I think I narrowed down the issue, it’s not really because I upgraded dune but because I updated
lang dune in
dune-project from 2.9. to 3.3. Keeping it at 2.9 makes it work even with dune 3.3.1.
I’ve seen that it changes the generated opam file and adds options about
--promote-install-files in the build command, maybe it’s related.
for the records, this is fixed in dune 3.4