hackwaly / ocamlearlybird

OCaml debug adapter
MIT License
208 stars 23 forks source link

Fix compilation in bytecode mode #55

Closed mseri closed 7 months ago

mseri commented 7 months ago

This should solve the issue in https://github.com/ocaml/opam-repository/pull/25033

hackwaly commented 7 months ago

I merged it. /cc @sim642

mseri commented 7 months ago

Do you want to update the release or I can merge that with the conflict with bytecode compiler?

hackwaly commented 7 months ago

Do you want to update the release or I can merge that with the conflict with bytecode compiler?

Thank you! Your patch could be released with next release. I don't know how to update the release. Is it close the PR on opam repository and re-release the same version with your patch?

sim642 commented 7 months ago

It shouldn't be the same release because 1.3.0 is already in our GitHub releases etc. I can release 1.3.1 with this soon too.

hackwaly commented 7 months ago

It shouldn't be the same release because 1.3.0 is already in our GitHub releases etc. I can release 1.3.1 with this soon too.

Could you release 1.3.1? I've already forgotten how to use dune-release.

sim642 commented 7 months ago

This doesn't seem to really help: https://github.com/ocaml/opam-repository/pull/25063 fails with

#=== ERROR while compiling earlybird.1.3.1 ====================================#
# context              2.2.0~alpha4~dev | linux/arm32 | ocaml-base-compiler.5.1.1 | pinned(https://github.com/hackwaly/ocamlearlybird/releases/download/1.3.1/earlybird-1.3.1.tbz)
# path                 ~/.opam/5.1/.opam-switch/build/earlybird.1.3.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p earlybird -j 79 @install
# exit-code            1
# env-file             ~/.opam/log/earlybird-7-2e1bf8.env
# output-file          ~/.opam/log/earlybird-7-2e1bf8.out
### output ###
# File "src/main/dune", line 3, characters 7-11:
# 3 |  (name main)
#            ^^^^
# Error: No rule found for src/main/main.exe

It's the same problem, just from a slightly different place.

mseri commented 7 months ago

Mmh, very strange. I'll try to look into it. Unfortunately I cannot do it for some time still.

sim642 commented 7 months ago

I suspect the reason is this line: https://github.com/hackwaly/ocamlearlybird/blob/63f0a3fbc2fc0af388f984da1d447eefa708c39b/src/main/dune#L4

In dune's linking modes, this demands both native and bytecode binaries, but that might not be necessary. The default exe might already do the right thing: produce an exe, which might be native or which might be a bytecode one.