Skip to content

%{make} always invokes make, not gmake anymore #5470

@hannesm

Description

@hannesm

Expected Behavior

Compilation succeeds

Actual Behavior

#=== ERROR while compiling io-page.2.4.0 ======================================#
# context              2.1.2 | freebsd/x86_64 |  | https://opam.ocaml.org#4f30f6b5
# path                 /tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0
# command              /tmp/myswitch/build/_opam/bin/dune build -p io-page -j 7
# exit-code            1
# env-file             /tmp/opam-hannes-21504/io-page-21504-8e30ae.env
# output-file          /tmp/opam-hannes-21504/io-page-21504-8e30ae.out
### output ###
# File "freestanding/dune", line 3, characters 0-152:
# 3 | (rule
# 4 |  (deps Makefile stub_alloc_pages.c stub_get_addr.c)
# 5 |  (targets libiopage_freestanding_stubs.a)
# 6 |  (action
# 7 |   (no-infer
# 8 |    (progn
# 9 |     (run %{make})))))
# (cd _build/default/freestanding && /usr/bin/make)
# make: "/tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0/_build/default/freestanding/Makefile" line 8: Missing dependency operator
# make: "/tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0/_build/default/freestanding/Makefile" line 11: Need an operator
# make: "/tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0/_build/default/freestanding/Makefile" line 19: warning: duplicate script for target "libiopage_freestanding_stubs.a" ignored
# make: "/tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0/_build/default/freestanding/Makefile" line 10: warning: using previous script for "libiopage_freestanding_stubs.a" defined here
# make: "/tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0/_build/default/freestanding/Makefile" line 20: Need an operator
# make: Fatal errors encountered -- cannot continue
# make: stopped in /tmp/myswitch/build/_opam/.opam-switch/build/io-page.2.4.0/_build/default/freestanding

This happens in various other opam packages of the same kind as well. Is run %{make} deprecated? Is there another way to platform-independently call "GNU make"?

Reproduction

  1. opam install io-page

Specifications

  • Version of dune (output of dune --version): 3.03
  • Version of ocaml (output of ocamlc --version): 4.13.1
  • Operating system (distribution and version): FreeBSD 13.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions