Installing Coq on Windows on GitHub Actions succeeds on a repo, and fails on another repo

I’m trying to install Coq on Windows on GitHub Actions, but seeing strange results.

I tried the following script, but couldn’t install Coq because of the missing gmp.h error.

name: CI

on:
  push:
    branches:
      - master

  pull_request:
    branches:
      - master

jobs:
  test:
    runs-on: "windows-latest"

    steps:
      # See https://github.com/ocaml-opam/opam-repository-mingw#updates for `opam-repositories`.
      - name: Install OCaml
        uses: ocaml/[email protected]
        with:
          ocaml-compiler: "4.14.1"
          opam-repositories: |
            opam-repository-mingw: https://github.com/ocaml-opam/opam-repository-mingw.git#sunset
            default: https://github.com/ocaml/opam-repository.git
          dune-cache: true

      - name: Install Coq
        run: opam install coq.8.19.0

Here is my error log.

Run opam install coq.8.19.0
  
The following actions will be performed:
  - install ocamlfind     1.9.5  [required by coq-core]
  - install conf-gmp      4      [required by zarith]
  - install zarith        1.13   [required by coq-core]
  - install coq-core      8.19.0 [required by coq]
  - install coqide-server 8.19.0 [required by coq]
  - install coq-stdlib    8.19.0 [required by coq]
  - install coq           8.19.0
===== 7 to install =====
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[coq-core.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coq-stdlib.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coq.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coqide-server.8.19.0] found in cache
[ocamlfind.1.9.5] downloaded from http://download.camlcity.org/download/findlib-1.9.5.tar.gz
[zarith.1.13] downloaded from https://github.com/ocaml/Zarith/archive/release-1.13.tar.gz
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of conf-gmp failed at "D:\cygwin\bin\sh.exe -exc $(ocamlc -config | awk -F '[tr ]+' '/^bytecomp_c_compiler/ {for(i=2;i<=NF;i++) printf "%s ", $i}') -c $CFLAGS test.c".
-> installed ocamlfind.1.9.5
#=== ERROR while compiling conf-gmp.4 =========================================#
# context     2.0.10 | win32/x86_64 | ocaml-variants.4.14.1+mingw64c | git+https://github.com/ocaml-opam/opam-repository-mingw.git#sunset
# path        D:/a/test-github-actions/test-github-actions/_opam/.opam-switch/build/conf-gmp.4
# command     D:cygwinbinsh.exe -exc $(ocamlc -config | awk -F '[    
 ]+' '/^bytecomp_c_compiler/ {for(i=2;i<=NF;i++) printf "%s ", $i}') -c $CFLAGS test.c
# exit-code   1
# env-file    D:/.opam/log/conf-gmp-1660-d6d332.env
# output-file D:/.opam/log/conf-gmp-1660-d6d332.out
### output ###
# ++ ocamlc -config
# ++ awk -F '[  
 ]+' '/^bytecomp_c_compiler/ {for(i=2;i<=NF;i++) printf "%s ", $i}'
# + x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -c test.c
# test.c:1:10: fatal error: gmp.h: No such file or directory
#     1 | #include <gmp.h>
#       |          ^~~~~~~
# compilation terminated.
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build conf-gmp 4
+- 
+- The following changes have been performed (the rest was aborted)
| - install ocamlfind 1.9.5
+- 
The packages you requested declare the following system dependencies. Please make sure they are installed before retrying:
    gmp
The former state can be restored with:
    opam.exe switch import "D:/a/test-github-actions/test-github-actions/_opam/.opam-switch/backup/state-20240423142828.export"
Error: Process completed with exit code 1.

Strangely, I could install Coq in my another repository without manual installation of gmp.h. The following is an exempt of the script in the repo (btw, you can check my dune-project). I confirmed that caches didn’t affect the results by running gh cache delete --all on that repo before running the CI.

name: Test

on:
  push:
    branches:
      - main

  pull_request:

jobs:
  test:
    strategy:
      fail-fast: false

      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest

    runs-on: ${{ matrix.os }}

    steps:
      # Without this, tests will fail on Windows because Coqfmt uses LF as a
      # newline while the cloned source code contains CRLF.
      - name: Modify the git setting not to convert LF to CRLF
        run: git config --global core.autocrlf input

      - uses: actions/[email protected]

      # See https://github.com/ocaml-opam/opam-repository-mingw#updates for `opam-repositories`.
      - uses: ocaml/[email protected]
        with:
          ocaml-compiler: "4.14.1"
          opam-repositories: |
            opam-repository-mingw: https://github.com/ocaml-opam/opam-repository-mingw.git#sunset
            default: https://github.com/ocaml/opam-repository.git
          dune-cache: true

      - name: Install dependencies
        run: opam install --deps-only --with-test .

      # Without `opam exec -- `, these commands will fail due to "dune not found"
      # error.
      - name: Build
        run: opam exec -- dune build

      - name: Run tests with dune
        run: opam exec -- dune test

      - name: Run `Require` test
        run: ./test.sh
        working-directory: ./test/require-test

Log

Run opam install --deps-only --with-test .
[coqfmt.dev] no changes from git+file://D:/a/coqfmt/coqfmt#main
The following actions will be performed:
  - install cppo                1.6.9
  - install ppx_derivers        1.2.1
  - install ocamlbuild          0.14.2+win
  - install conf-bash           1
  - install dune-build-info     3.15.0
  - install num                 1.5
  - install cmdliner            1.2.0
  - install seq                 base
  - install ocaml-compiler-libs v0.12.4
  - install ocaml-syntax-shims  1.0.0
  - install stdlib-shims        0.3.0
  - install ocamlfind           1.9.5
  - install conf-gmp            4
  - install result              1.5
  - install csexp               1.5.2
  - install sexplib0            v0.16.0
  - install yojson              2.1.2
  - install re                  1.11.0
  - install topkg               1.0.7
  - install zarith              1.13
  - install dune-configurator   3.15.0
  - install ppxlib              0.32.0
  - install parsexp             v0.16.0
  - install uutf                1.0.3
  - install fmt                 0.9.0
  - install astring             0.8.5
  - install coq-core            8.19.0
  - install base                v0.16.3
  - install ppx_import          1.10.0
  - install ppx_deriving        5.2.1
  - install sexplib             v0.16.0
  - install alcotest            1.7.0
  - install coqide-server       8.19.0
  - install coq-stdlib          8.19.0
  - install ppx_sexp_conv       v0.16.0
  - install ppx_compare         v0.16.0
  - install ppx_deriving_yojson 3.7.0
  - install coq                 8.19.0
  - install ppx_hash            v0.16.0
  - install coq-serapi          8.19.0+0.19.2
===== 40 to install =====

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[alcotest.1.7.0] downloaded from https://github.com/mirage/alcotest/releases/download/1.7.0/alcotest-1.7.0.tbz
[astring.0.8.5] downloaded from https://erratique.ch/software/astring/releases/astring-0.8.5.tbz
[base.v0.16.3] downloaded from https://github.com/janestreet/base/archive/refs/tags/v0.16.3.tar.gz
[cmdliner.1.2.0] downloaded from https://erratique.ch/software/cmdliner/releases/cmdliner-1.2.0.tbz
[coq.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coq-core.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coq-serapi.8.19.0+0.19.2] downloaded from https://github.com/ejgallego/coq-serapi/releases/download/8.19.0%2B0.19.2/coq-serapi-8.19.0.0.19.2.tbz
[coq-stdlib.8.19.0] found in cache
[coqide-server.8.19.0] found in cache
[cppo.1.6.9] downloaded from https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz
[dune-build-info.3.15.0] found in cache
[csexp.1.5.2] downloaded from https://github.com/ocaml-dune/csexp/releases/download/1.5.2/csexp-1.5.2.tbz
[dune-configurator.3.15.0] found in cache
[fmt.0.9.0] downloaded from https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz
[num.1.5] downloaded from https://github.com/ocaml/num/archive/v1.5.tar.gz
[ocaml-compiler-libs.v0.12.4] downloaded from https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz
[ocaml-syntax-shims.1.0.0] downloaded from https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz
[ocamlbuild.0.14.2+win] downloaded from https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.2.tar.gz
[parsexp.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/parsexp-v0.16.0.tar.gz
[ocamlbuild.0.14.2+win/ocamlbuild-0.14.2.patch] downloaded from https://raw.githubusercontent.com/ocaml-opam/opam-repository-mingw/354a87b397856f2a70024c5c83fc5001074935b6/packages/ocamlbuild/ocamlbuild.0.14.2/files/ocamlbuild-0.14.2.patch
[ocamlfind.1.9.5] downloaded from http://download.camlcity.org/download/findlib-1.9.5.tar.gz
[ppx_compare.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_compare-v0.16.0.tar.gz
[ppx_derivers.1.2.1] downloaded from https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz
[ppx_deriving.5.2.1] downloaded from https://github.com/ocaml-ppx/ppx_deriving/releases/download/v5.2.1/ppx_deriving-v5.2.1.tbz
[ppx_hash.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_hash-v0.16.0.tar.gz
[ppx_deriving_yojson.3.7.0] downloaded from https://github.com/ocaml-ppx/ppx_deriving_yojson/releases/download/v3.7.0/ppx_deriving_yojson-3.7.0.tar.gz
[ppx_sexp_conv.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_sexp_conv-v0.16.0.tar.gz
[ppx_import.1.10.0] downloaded from https://github.com/ocaml-ppx/ppx_import/releases/download/1.10.0/ppx_import-1.10.0.tbz
[ppxlib.0.32.0] downloaded from https://github.com/ocaml-ppx/ppxlib/releases/download/0.32.0/ppxlib-0.32.0.tbz
[re.1.11.0] downloaded from https://github.com/ocaml/ocaml-re/releases/download/1.11.0/re-1.11.0.tbz
[result.1.5] downloaded from https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz
[sexplib.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/sexplib-v0.16.0.tar.gz
[sexplib0.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/sexplib0-v0.16.0.tar.gz
[stdlib-shims.0.3.0] downloaded from https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz
[uutf.1.0.3] downloaded from https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz
[topkg.1.0.7] downloaded from https://erratique.ch/software/topkg/releases/topkg-1.0.7.tbz
[yojson.2.1.2] downloaded from https://github.com/ocaml-community/yojson/releases/download/2.1.2/yojson-2.1.2.tbz
[zarith.1.13] downloaded from https://github.com/ocaml/Zarith/archive/release-1.13.tar.gz

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed cmdliner.1.2.0
-> installed conf-bash.1
-> installed conf-gmp.4
-> installed cppo.1.6.9
-> installed csexp.1.5.2
-> installed dune-build-info.3.15.0
-> installed num.1.5
-> installed ocaml-compiler-libs.v0.12.4
-> installed ocaml-syntax-shims.1.0.0
-> installed ppx_derivers.1.2.1
-> installed result.1.5
-> installed seq.base
-> installed ocamlbuild.0.14.2+win
-> installed ocamlfind.1.9.5
-> installed dune-configurator.3.15.0
-> installed sexplib0.v0.16.0
-> installed parsexp.v0.16.0
-> installed re.1.11.0
-> installed stdlib-shims.0.3.0
-> installed topkg.1.0.7
-> installed astring.0.8.5
-> installed sexplib.v0.16.0
-> installed uutf.1.0.3
-> installed yojson.2.1.2
-> installed zarith.1.13
-> installed fmt.0.9.0
-> installed base.v0.16.3
-> installed alcotest.1.7.0
-> installed ppxlib.0.32.0
-> installed ppx_compare.v0.16.0
-> installed ppx_import.1.10.0
-> installed ppx_deriving.5.2.1
-> installed ppx_deriving_yojson.3.7.0
-> installed ppx_sexp_conv.v0.16.0
-> installed ppx_hash.v0.16.0
-> installed coq-core.8.19.0
-> installed coqide-server.8.19.0
-> installed coq-stdlib.8.19.0
-> installed coq.8.19.0
-> installed coq-serapi.8.19.0+0.19.2
Done.

Even more strangely, cloning the successful project in another repo and running opam install did raise the missing gmp.h error.

name: CI

on:
  push:
    branches:
      - master

  pull_request:
    branches:
      - master

jobs:
  test:
    runs-on: "windows-latest"

    steps:
      # See https://github.com/ocaml-opam/opam-repository-mingw#updates for `opam-repositories`.
      - name: Install OCaml
        uses: ocaml/[email protected]
        with:
          ocaml-compiler: "4.14.1"
          opam-repositories: |
            opam-repository-mingw: https://github.com/ocaml-opam/opam-repository-mingw.git#sunset
            default: https://github.com/ocaml/opam-repository.git
          dune-cache: true

      - name: Clone
        run: git clone https://github.com/toku-sa-n/coqfmt.git

      - name: Install dependencies
        run: cd coqfmt && opam install --deps-only --with-test .

Log

Run cd coqfmt && opam install --deps-only --with-test .
  
The following actions will be performed:
  - install cppo                1.6.9
  - install ppx_derivers        1.2.1
  - install ocamlbuild          0.14.2+win
  - install conf-bash           1
  - install dune-build-info     3.15.0
  - install num                 1.5
  - install cmdliner            1.2.0
  - install seq                 base
  - install ocaml-compiler-libs v0.12.4
  - install ocaml-syntax-shims  1.0.0
  - install stdlib-shims        0.3.0
  - install ocamlfind           1.9.5
  - install conf-gmp            4
  - install result              1.5
  - install csexp               1.5.2
  - install sexplib0            v0.16.0
  - install yojson              2.1.2
  - install re                  1.11.0
  - install topkg               1.0.7
  - install zarith              1.13
  - install dune-configurator   3.15.0
  - install ppxlib              0.32.0
  - install parsexp             v0.16.0
  - install uutf                1.0.3
  - install fmt                 0.9.0
  - install astring             0.8.5
  - install coq-core            8.19.0
  - install base                v0.16.3
  - install ppx_import          1.10.0
  - install ppx_deriving        5.2.1
  - install sexplib             v0.16.0
  - install alcotest            1.7.0
  - install coqide-server       8.19.0
  - install coq-stdlib          8.19.0
  - install ppx_sexp_conv       v0.16.0
  - install ppx_compare         v0.16.0
  - install ppx_deriving_yojson 3.7.0
  - install coq                 8.19.0
  - install ppx_hash            v0.16.0
  - install coq-serapi          8.19.0+0.19.2
===== 40 to install =====
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[base.v0.16.3] downloaded from https://github.com/janestreet/base/archive/refs/tags/v0.16.3.tar.gz
[alcotest.1.7.0] downloaded from https://github.com/mirage/alcotest/releases/download/1.7.0/alcotest-1.7.0.tbz
[astring.0.8.5] downloaded from https://erratique.ch/software/astring/releases/astring-0.8.5.tbz
[cmdliner.1.2.0] downloaded from https://erratique.ch/software/cmdliner/releases/cmdliner-1.2.0.tbz
[coq.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coq-core.8.19.0] downloaded from https://github.com/coq/coq/releases/download/V8.19.0/coq-8.19.0.tar.gz
[coq-serapi.8.19.0+0.19.2] downloaded from https://github.com/ejgallego/coq-serapi/releases/download/8.19.0%2B0.19.2/coq-serapi-8.19.0.0.19.2.tbz
[coq-stdlib.8.19.0] found in cache
[coqide-server.8.19.0] found in cache
[cppo.1.6.9] downloaded from https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz
[dune-build-info.3.15.0] found in cache
[csexp.1.5.2] downloaded from https://github.com/ocaml-dune/csexp/releases/download/1.5.2/csexp-1.5.2.tbz
[dune-configurator.3.15.0] found in cache
[fmt.0.9.0] downloaded from https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz
[num.1.5] downloaded from https://github.com/ocaml/num/archive/v1.5.tar.gz
[ocaml-compiler-libs.v0.12.4] downloaded from https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz
[ocaml-syntax-shims.1.0.0] downloaded from https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz
[ocamlbuild.0.14.2+win] downloaded from https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.2.tar.gz
[parsexp.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/parsexp-v0.16.0.tar.gz
[ocamlbuild.0.14.2+win/ocamlbuild-0.14.2.patch] downloaded from https://raw.githubusercontent.com/ocaml-opam/opam-repository-mingw/354a87b397856f2a70024c5c83fc5001074935b6/packages/ocamlbuild/ocamlbuild.0.14.2/files/ocamlbuild-0.14.2.patch
[ppx_compare.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_compare-v0.16.0.tar.gz
[ocamlfind.1.9.5] downloaded from http://download.camlcity.org/download/findlib-1.9.5.tar.gz
[ppx_derivers.1.2.1] downloaded from https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz
[ppx_deriving.5.2.1] downloaded from https://github.com/ocaml-ppx/ppx_deriving/releases/download/v5.2.1/ppx_deriving-v5.2.1.tbz
[ppx_hash.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_hash-v0.16.0.tar.gz
[ppx_deriving_yojson.3.7.0] downloaded from https://github.com/ocaml-ppx/ppx_deriving_yojson/releases/download/v3.7.0/ppx_deriving_yojson-3.7.0.tar.gz
[ppx_sexp_conv.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_sexp_conv-v0.16.0.tar.gz
[ppx_import.1.10.0] downloaded from https://github.com/ocaml-ppx/ppx_import/releases/download/1.10.0/ppx_import-1.10.0.tbz
[ppxlib.0.32.0] downloaded from https://github.com/ocaml-ppx/ppxlib/releases/download/0.32.0/ppxlib-0.32.0.tbz
[re.1.11.0] downloaded from https://github.com/ocaml/ocaml-re/releases/download/1.11.0/re-1.11.0.tbz
[result.1.5] downloaded from https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz
[sexplib.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/sexplib-v0.16.0.tar.gz
[sexplib0.v0.16.0] downloaded from https://ocaml.janestreet.com/ocaml-core/v0.16/files/sexplib0-v0.16.0.tar.gz
[stdlib-shims.0.3.0] downloaded from https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz
[topkg.1.0.7] downloaded from https://erratique.ch/software/topkg/releases/topkg-1.0.7.tbz
[uutf.1.0.3] downloaded from https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz
[yojson.2.1.2] downloaded from https://github.com/ocaml-community/yojson/releases/download/2.1.2/yojson-2.1.2.tbz
[zarith.1.13] downloaded from https://github.com/ocaml/Zarith/archive/release-1.13.tar.gz
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of conf-gmp failed at "D:\cygwin\bin\sh.exe -exc $(ocamlc -config | awk -F '[tr ]+' '/^bytecomp_c_compiler/ {for(i=2;i<=NF;i++) printf "%s ", $i}') -c $CFLAGS test.c".
-> installed cmdliner.1.2.0
-> installed conf-bash.1
-> installed cppo.1.6.9
-> installed csexp.1.5.2
-> installed dune-build-info.3.15.0
-> installed num.1.5
-> installed ocaml-compiler-libs.v0.12.4
-> installed ocaml-syntax-shims.1.0.0
-> installed ppx_derivers.1.2.1
-> installed result.1.5
-> installed seq.base
-> installed ocamlbuild.0.14.2+win
-> installed ocamlfind.1.9.5
-> installed dune-configurator.3.15.0
-> installed sexplib0.v0.16.0
-> installed re.1.11.0
-> installed stdlib-shims.0.3.0
-> installed topkg.1.0.7
-> installed astring.0.8.5
-> installed fmt.0.9.0
-> installed parsexp.v0.16.0
-> installed uutf.1.0.3
-> installed sexplib.v0.16.0
-> installed yojson.2.1.2
-> installed alcotest.1.7.0
-> installed base.v0.16.3
-> installed ppxlib.0.32.0
-> installed ppx_compare.v0.16.0
-> installed ppx_import.1.10.0
-> installed ppx_sexp_conv.v0.16.0
-> installed ppx_deriving.5.2.1
-> installed ppx_hash.v0.16.0
-> installed ppx_deriving_yojson.3.7.0
#=== ERROR while compiling conf-gmp.4 =========================================#
# context     2.0.10 | win32/x86_64 | ocaml-variants.4.14.1+mingw64c | git+https://github.com/ocaml-opam/opam-repository-mingw.git#sunset
# path        D:/a/test-github-actions/test-github-actions/_opam/.opam-switch/build/conf-gmp.4
# command     D:cygwinbinsh.exe -exc $(ocamlc -config | awk -F '[    
 ]+' '/^bytecomp_c_compiler/ {for(i=2;i<=NF;i++) printf "%s ", $i}') -c $CFLAGS test.c
# exit-code   1
# env-file    D:/.opam/log/conf-gmp-5152-499329.env
# output-file D:/.opam/log/conf-gmp-5152-499329.out
### output ###
# ++ ocamlc -config
# ++ awk -F '[  
 ]+' '/^bytecomp_c_compiler/ {for(i=2;i<=NF;i++) printf "%s ", $i}'
# + x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -c test.c
# test.c:1:10: fatal error: gmp.h: No such file or directory
#     1 | #include <gmp.h>
#       |          ^~~~~~~
# compilation terminated.
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build conf-gmp 4
+- 
+- The following changes have been performed (the rest was aborted)
| - install alcotest            1.7.0
| - install astring             0.8.5
| - install base                v0.16.3
| - install cmdliner            1.2.0
| - install conf-bash           1
| - install cppo                1.6.9
| - install csexp               1.5.2
| - install dune-build-info     3.15.0
| - install dune-configurator   3.15.0
| - install fmt                 0.9.0
| - install num                 1.5
| - install ocaml-compiler-libs v0.12.4
| - install ocaml-syntax-shims  1.0.0
| - install ocamlbuild          0.14.2+win
| - install ocamlfind           1.9.5
| - install parsexp             v0.16.0
| - install ppx_compare         v0.16.0
| - install ppx_derivers        1.2.1
| - install ppx_deriving        5.2.1
| - install ppx_deriving_yojson 3.7.0
| - install ppx_hash            v0.16.0
| - install ppx_import          1.10.0
| - install ppx_sexp_conv       v0.16.0
| - install ppxlib              0.32.0
| - install re                  1.11.0
| - install result              1.5
| - install seq                 base
| - install sexplib             v0.16.0
| - install sexplib0            v0.16.0
| - install stdlib-shims        0.3.0
| - install topkg               1.0.7
| - install uutf                1.0.3
| - install yojson              2.1.2
+- 
The former state can be restored with:
    opam.exe switch import "D:/a/test-github-actions/test-github-actions/_opam/.opam-switch/backup/state-20240423144540.export"
The packages you requested declare the following system dependencies. Please make sure they are installed before retrying:
    gmp

Am I missing something? And what should I do to install Coq on Windows on GitHub Actions? Do I need a manual installation of gmp.h?

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật