Skip to content

Building on ocaml/ocaml trunk broken after upstream signal changes #11638

@jmid

Description

@jmid

Expected Behavior

dune builds with ocaml/ocaml trunk

Actual Behavior

dune fails to build with ocaml/ocaml trunk
https://github.com/ocaml-multicore/multicoretests/actions/runs/14566902818/job/40857535173

  ocamlc -output-complete-exe -w -24 -g -o .duneboot.exe -I boot -I +unix unix.cma boot/libs.ml boot/duneboot.ml
  ./.duneboot.exe
  cd _boot && /home/runner/local/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads ocamlc_loc.mli
  File "otherlibs/ocamlc-loc/src/ocamlc_loc.mli", line 1, characters 4-9:
  Warning 53 [misplaced-attribute]: the alert attribute cannot appear in this context
  cd _boot && /home/runner/local/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads stdune__Signal.ml
  File "otherlibs/stdune/src/signal.ml", line 65, characters 11-19:
  Error: This expression has type int
         This is not a function; it cannot be applied.
  
  make: *** [Makefile:32: _boot/dune.exe] Error 2
  
  Error: Process completed with exit code 2.

The problem is that ocaml/ocaml#13843 added a definition for sigwinch:

val sigwinch : signal

which causes this (previous work-around) line to fail type checking:

; Winch, sigwinch ()

Reproduction

  1. install an ocaml/ocaml trunk compiler
  2. make release && make install
  • Version of dune (output of dune --version): 3.18.0
  • Version of ocaml (output of ocamlc --version): ocaml/ocaml trunk built from commit 765fcdb83a487ddbd4bcdd92cc47823dd79f700b
  • Operating system (distribution and version): all (Linux/macOS/Cygwin/MinGW/MSVC)

Metadata

Metadata

Assignees

No one assigned

    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