Build:
  1. 0
2026-02-27 04:03.52: New job: test glpk.0.1.6 with ocaml-compiler.5.4.0~rc1, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29451/head (09d7830dd4a7cd4cfc1725bd69ec5b222eae677d)
                              on debian-13-ocaml-5.4/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29451/head" && git reset --hard 09d7830d
git fetch origin master
git merge --no-edit 5abb4f44e937819c2e438ab71bc23607a7cad3da
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn ocaml-compiler.5.4.0~rc1 5.4.0~rc1
RUN opam reinstall --update-invariant ocaml-compiler.5.4.0~rc1; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'ocaml-compiler.5.4.0~rc1' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall glpk.0.1.6; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'glpk.0.1.6' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test glpk.0.1.6) || true
RUN opam reinstall --with-test --verbose glpk.0.1.6; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'glpk.0.1.6' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2026-02-27 04:03.52: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c-ocaml-compiler.5.4.0~rc1-glpk.0.1.6-09d7830dd4a7cd4cfc1725bd69ec5b222eae677d"
2026-02-27 04:03.52: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0~rc1 5.4.0~rc1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall --update-invariant ocaml-compiler.5.4.0~rc1;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'ocaml-compiler.5.4.0~rc1' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall glpk.0.1.6;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'glpk.0.1.6' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test glpk.0.1.6) || true"))
 (run (shell  "opam reinstall --with-test --verbose glpk.0.1.6;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'glpk.0.1.6' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-02-27 04:03.52: Waiting for resource in pool OCluster
2026-03-02 00:39.08: Waiting for worker…
2026-03-02 00:42.58: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 5abb4f44e9 Merge pull request #29466 from mseri/release-doi2bib-0.9.1
Merge made by the 'ort' strategy.
 .../ocaml-base-compiler.3.07+1/opam                    |  1 +
 .../ocaml-base-compiler.3.07+2/opam                    |  1 +
 .../ocaml-base-compiler/ocaml-base-compiler.3.07/opam  |  1 +
 .../ocaml-base-compiler.3.08.0/opam                    |  1 +
 .../ocaml-base-compiler.3.08.1/opam                    |  1 +
 .../ocaml-base-compiler.3.08.2/opam                    |  1 +
 .../ocaml-base-compiler.3.08.3/opam                    |  1 +
 .../ocaml-base-compiler.3.08.4/opam                    |  1 +
 .../ocaml-base-compiler.3.09.0/opam                    |  1 +
 .../ocaml-base-compiler.3.09.1/opam                    |  1 +
 .../ocaml-base-compiler.3.09.2/opam                    |  1 +
 .../ocaml-base-compiler.3.09.3/opam                    |  1 +
 .../ocaml-base-compiler.3.10.0/opam                    |  1 +
 .../ocaml-base-compiler.3.10.1/opam                    |  1 +
 .../ocaml-base-compiler.3.10.2/opam                    |  1 +
 .../ocaml-base-compiler.3.11.0/opam                    |  1 +
 .../ocaml-base-compiler.3.11.1/opam                    |  1 +
 .../ocaml-base-compiler.3.11.2/opam                    |  1 +
 .../ocaml-base-compiler.3.12.0/opam                    |  1 +
 .../ocaml-base-compiler.3.12.1/opam                    |  1 +
 .../ocaml-base-compiler.4.00.0/opam                    |  1 +
 .../ocaml-base-compiler.4.00.1/opam                    |  1 +
 .../ocaml-base-compiler.4.01.0/opam                    |  1 +
 .../ocaml-base-compiler.4.02.0/opam                    |  1 +
 .../ocaml-base-compiler.4.02.1/opam                    |  1 +
 .../ocaml-base-compiler.4.02.2/opam                    |  1 +
 .../ocaml-base-compiler.4.02.3/opam                    |  1 +
 .../ocaml-base-compiler.4.03.0/opam                    |  1 +
 .../ocaml-base-compiler.4.04.0/opam                    |  1 +
 .../ocaml-base-compiler.4.04.1/opam                    |  1 +
 .../ocaml-base-compiler.4.04.2/opam                    |  1 +
 .../ocaml-base-compiler.4.05.0/opam                    |  1 +
 .../ocaml-base-compiler.4.06.0/opam                    |  1 +
 .../ocaml-base-compiler.4.06.1/opam                    |  1 +
 .../ocaml-base-compiler.4.07.0/opam                    |  1 +
 .../ocaml-base-compiler.4.07.1/opam                    |  1 +
 .../ocaml-base-compiler.4.08.0/opam                    |  1 +
 .../ocaml-base-compiler.4.08.1/opam                    |  1 +
 .../ocaml-base-compiler.4.09.0/opam                    |  1 +
 .../ocaml-base-compiler.4.09.1/opam                    |  1 +
 .../ocaml-base-compiler.4.10.0/opam                    |  1 +
 .../ocaml-base-compiler.4.10.1/opam                    |  1 +
 .../ocaml-base-compiler.4.10.2/opam                    |  1 +
 .../ocaml-base-compiler.4.11.0/opam                    |  1 +
 .../ocaml-base-compiler.4.11.1/opam                    |  1 +
 .../ocaml-base-compiler.4.11.2/opam                    |  1 +
 .../ocaml-base-compiler.4.12.0/opam                    |  1 +
 .../ocaml-base-compiler.4.12.1/opam                    |  1 +
 .../ocaml-base-compiler.4.13.0/opam                    |  1 +
 .../ocaml-base-compiler.4.13.1/opam                    |  1 +
 .../ocaml-base-compiler.4.14.0/opam                    |  1 +
 .../ocaml-base-compiler.4.14.1/opam                    |  1 +
 .../ocaml-base-compiler.4.14.2/opam                    |  1 +
 .../ocaml-base-compiler.4.14.2~rc1/opam                |  1 +
 .../ocaml-base-compiler.4.14.3/opam                    |  1 +
 .../ocaml-base-compiler/ocaml-base-compiler.5.0.0/opam |  5 ++++-
 .../ocaml-base-compiler/ocaml-base-compiler.5.1.0/opam |  5 ++++-
 .../ocaml-base-compiler/ocaml-base-compiler.5.1.1/opam |  5 ++++-
 .../ocaml-base-compiler/ocaml-base-compiler.5.2.0/opam |  5 ++++-
 .../ocaml-base-compiler/ocaml-base-compiler.5.2.1/opam |  5 ++++-
 packages/ocaml-compiler/ocaml-compiler.5.3.0/opam      |  1 +
 packages/ocaml-compiler/ocaml-compiler.5.3/opam        |  1 +
 packages/ocaml-compiler/ocaml-compiler.5.4.0/opam      |  1 +
 .../ocaml-compiler/ocaml-compiler.5.4.0~alpha1/opam    |  1 +
 .../ocaml-compiler/ocaml-compiler.5.4.0~beta1/opam     |  1 +
 .../ocaml-compiler/ocaml-compiler.5.4.0~beta2/opam     |  1 +
 packages/ocaml-compiler/ocaml-compiler.5.4.0~rc1/opam  |  1 +
 packages/ocaml-compiler/ocaml-compiler.5.4.1/opam      |  1 +
 packages/ocaml-compiler/ocaml-compiler.5.4/opam        |  1 +
 .../ocaml-secondary-compiler.4.08.1-1/opam             |  1 +
 .../ocaml-secondary-compiler.4.08.1/opam               |  1 +
 .../ocaml-secondary-compiler.4.14.2/opam               |  1 +
 .../ocaml-variants.3.09.1+metaocaml/opam               |  1 +
 .../ocaml-variants.4.00.0+debug-runtime/opam           |  1 +
 packages/ocaml-variants/ocaml-variants.4.00.1+BER/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.00.1+PIC/opam |  1 +
 .../ocaml-variants.4.00.1+debug-runtime/opam           |  1 +
 .../ocaml-variants.4.00.1+open-types/opam              |  1 +
 .../ocaml-variants.4.00.1+raspberrypi/opam             |  1 +
 .../ocaml-variants.4.00.1+short-types/opam             |  1 +
 .../ocaml-variants/ocaml-variants.4.01.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.01.0+BER/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.01.0+PIC/opam |  1 +
 .../ocaml-variants.4.01.0+armv6-freebsd/opam           |  1 +
 packages/ocaml-variants/ocaml-variants.4.01.0+fp/opam  |  1 +
 packages/ocaml-variants/ocaml-variants.4.01.0+lsb/opam |  1 +
 .../ocaml-variants.4.01.0+musl+static/opam             |  1 +
 .../ocaml-variants/ocaml-variants.4.01.0+musl/opam     |  1 +
 .../ocaml-variants.4.01.0+open-types/opam              |  1 +
 .../ocaml-variants/ocaml-variants.4.01.0+profile/opam  |  1 +
 packages/ocaml-variants/ocaml-variants.4.02.0+PIC/opam |  1 +
 .../ocaml-variants.4.02.0+improved-errors/opam         |  1 +
 .../ocaml-variants/ocaml-variants.4.02.1+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.02.1+BER/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.02.1+PIC/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.02.1+fp/opam  |  1 +
 .../ocaml-variants.4.02.1+modular-implicits-ber/opam   |  1 +
 .../ocaml-variants.4.02.1+modular-implicits/opam       |  1 +
 .../ocaml-variants.4.02.1+musl+static/opam             |  1 +
 .../ocaml-variants/ocaml-variants.4.02.1+musl/opam     |  1 +
 .../ocaml-variants.4.02.2+improved-errors/opam         |  1 +
 .../ocaml-variants/ocaml-variants.4.02.3+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.02.3+PIC/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.02.3+buckle-1/opam |  1 +
 .../ocaml-variants.4.02.3+buckle-master/opam           |  1 +
 .../ocaml-variants.4.02.3+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.02.3+curried-constr/opam          |  1 +
 packages/ocaml-variants/ocaml-variants.4.02.3+fp/opam  |  1 +
 .../ocaml-variants.4.02.3+musl+static/opam             |  1 +
 .../ocaml-variants/ocaml-variants.4.02.3+musl/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.02.4+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.03.0+32bit/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.03.0+fPIC/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.03.0+flambda/opam  |  1 +
 .../ocaml-variants.4.03.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.03.0+fp/opam  |  1 +
 .../ocaml-variants.4.03.0+statistical-memprof/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.03.1+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.04.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.04.0+BER/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.04.0+afl/opam |  1 +
 .../ocaml-variants.4.04.0+bytecode-only/opam           |  1 +
 .../ocaml-variants/ocaml-variants.4.04.0+fPIC/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.04.0+flambda/opam  |  1 +
 .../ocaml-variants.4.04.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.04.0+fp/opam  |  1 +
 .../ocaml-variants.4.04.0+safe-string/opam             |  1 +
 .../ocaml-variants.4.04.0+spacetime/opam               |  1 +
 .../ocaml-variants.4.04.0+trunk+forced_lto/opam        |  1 +
 .../ocaml-variants/ocaml-variants.4.04.1+32bit/opam    |  1 +
 .../ocaml-variants.4.04.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.04.1+copatterns/opam              |  1 +
 .../ocaml-variants/ocaml-variants.4.04.1+fPIC/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.04.1+flambda/opam  |  1 +
 .../ocaml-variants.4.04.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.04.1+fp/opam  |  1 +
 .../ocaml-variants.4.04.1+safe-string/opam             |  1 +
 .../ocaml-variants.4.04.1+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.04.2+32bit/opam    |  1 +
 .../ocaml-variants.4.04.2+bytecode-only/opam           |  1 +
 .../ocaml-variants/ocaml-variants.4.04.2+fPIC/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.04.2+flambda/opam  |  1 +
 .../ocaml-variants.4.04.2+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.04.2+fp/opam  |  1 +
 .../ocaml-variants.4.04.2+safe-string/opam             |  1 +
 .../ocaml-variants.4.04.2+spacetime/opam               |  1 +
 .../ocaml-variants.4.04.2+statistical-memprof/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.04.3+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.05.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.05.0+afl/opam |  1 +
 .../ocaml-variants.4.05.0+bytecode-only/opam           |  1 +
 .../ocaml-variants/ocaml-variants.4.05.0+flambda/opam  |  1 +
 packages/ocaml-variants/ocaml-variants.4.05.0+lto/opam |  1 +
 .../ocaml-variants.4.05.0+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.05.0+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.05.0+safe-string/opam             |  1 +
 .../ocaml-variants.4.05.0+spacetime/opam               |  1 +
 .../ocaml-variants.4.05.0+statistical-memprof/opam     |  1 +
 .../ocaml-variants.4.05.1+trunk+afl/opam               |  1 +
 .../ocaml-variants.4.05.1+trunk+flambda/opam           |  1 +
 .../ocaml-variants.4.05.1+trunk+fp+flambda/opam        |  1 +
 .../ocaml-variants/ocaml-variants.4.05.1+trunk+fp/opam |  1 +
 .../ocaml-variants.4.05.1+trunk+safe-string/opam       |  1 +
 .../ocaml-variants/ocaml-variants.4.05.1+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.06.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.06.0+afl/opam |  1 +
 .../ocaml-variants.4.06.0+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.06.0+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.06.0+flambda/opam  |  1 +
 .../ocaml-variants.4.06.0+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.06.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.06.0+fp/opam  |  1 +
 .../ocaml-variants.4.06.0+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.06.0+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.06.0+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.06.0+spacetime/opam               |  1 +
 .../ocaml-variants.4.06.0+statistical-memprof/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.06.1+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.06.1+afl/opam |  1 +
 .../ocaml-variants.4.06.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.06.1+default-unsafe-string/opam   |  1 +
 .../ocaml-variants/ocaml-variants.4.06.1+flambda/opam  |  1 +
 .../ocaml-variants.4.06.1+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.06.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.06.1+fp/opam  |  1 +
 packages/ocaml-variants/ocaml-variants.4.06.1+lto/opam |  1 +
 .../ocaml-variants.4.06.1+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.06.1+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.06.1+no-flat-float-array/opam     |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.06.1+rescript/opam |  1 +
 .../ocaml-variants.4.06.1+statistical-memprof/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.06.1+termux/opam   |  1 +
 .../ocaml-variants.4.06.2+trunk+afl/opam               |  1 +
 .../ocaml-variants.4.06.2+trunk+flambda/opam           |  1 +
 .../ocaml-variants.4.06.2+trunk+force-safe-string/opam |  1 +
 .../ocaml-variants.4.06.2+trunk+fp+flambda/opam        |  1 +
 .../ocaml-variants/ocaml-variants.4.06.2+trunk+fp/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.06.2+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.07.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.07.0+afl/opam |  1 +
 .../ocaml-variants.4.07.0+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.07.0+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.07.0+flambda/opam  |  1 +
 .../ocaml-variants.4.07.0+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.07.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.07.0+fp/opam  |  1 +
 .../ocaml-variants.4.07.0+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.07.0+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.07.1+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.07.1+BER/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.07.1+afl/opam |  1 +
 .../ocaml-variants.4.07.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.07.1+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.07.1+flambda/opam  |  1 +
 .../ocaml-variants.4.07.1+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.07.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.07.1+fp/opam  |  1 +
 .../ocaml-variants.4.07.1+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.07.1+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.07.1+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.07.1+spacetime/opam               |  1 +
 .../ocaml-variants.4.07.1+statistical-memprof/opam     |  1 +
 .../ocaml-variants.4.07.2+trunk+afl/opam               |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants.4.07.2+trunk+flambda/opam           |  1 +
 .../ocaml-variants.4.07.2+trunk+fp+flambda/opam        |  1 +
 .../ocaml-variants/ocaml-variants.4.07.2+trunk+fp/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.07.2+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.08.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.08.0+afl/opam |  1 +
 .../ocaml-variants.4.08.0+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.08.0+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.08.0+flambda/opam  |  1 +
 .../ocaml-variants.4.08.0+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.08.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.08.0+fp/opam  |  1 +
 .../ocaml-variants.4.08.0+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.08.0+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.08.0+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.08.0+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.08.1+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.08.1+afl/opam |  1 +
 .../ocaml-variants.4.08.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.08.1+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.08.1+flambda/opam  |  1 +
 .../ocaml-variants.4.08.1+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.08.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.08.1+fp/opam  |  1 +
 .../ocaml-variants.4.08.1+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.08.1+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.08.1+spacetime/opam               |  1 +
 .../ocaml-variants.4.08.2+trunk+afl/opam               |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants.4.08.2+trunk+flambda/opam           |  1 +
 .../ocaml-variants.4.08.2+trunk+force-safe-string/opam |  1 +
 .../ocaml-variants.4.08.2+trunk+fp+flambda/opam        |  1 +
 .../ocaml-variants/ocaml-variants.4.08.2+trunk+fp/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.08.2+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.09.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.09.0+afl/opam |  1 +
 .../ocaml-variants.4.09.0+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.09.0+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.09.0+flambda/opam  |  1 +
 .../ocaml-variants.4.09.0+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.09.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.09.0+fp/opam  |  1 +
 .../ocaml-variants.4.09.0+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.09.0+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.09.0+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.09.0+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.09.1+32bit/opam    |  1 +
 .../ocaml-variants.4.09.1+afl+flambda/opam             |  1 +
 packages/ocaml-variants/ocaml-variants.4.09.1+afl/opam |  1 +
 .../ocaml-variants.4.09.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.09.1+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.09.1+flambda/opam  |  1 +
 .../ocaml-variants.4.09.1+force-safe-string/opam       |  1 +
 .../ocaml-variants.4.09.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.09.1+fp/opam  |  1 +
 .../ocaml-variants.4.09.1+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.09.1+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.09.1+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.09.1+spacetime/opam               |  1 +
 .../ocaml-variants.4.09.2+trunk+afl/opam               |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants.4.09.2+trunk+flambda/opam           |  1 +
 .../ocaml-variants.4.09.2+trunk+fp+flambda/opam        |  1 +
 .../ocaml-variants/ocaml-variants.4.09.2+trunk+fp/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.09.2+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.10.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.10.0+afl/opam |  1 +
 .../ocaml-variants.4.10.0+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.10.0+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.10.0+flambda/opam  |  1 +
 .../ocaml-variants.4.10.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.10.0+fp/opam  |  1 +
 .../ocaml-variants.4.10.0+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.10.0+musl+static+flambda/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.10.0+nnpcheck/opam |  1 +
 .../ocaml-variants.4.10.0+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.10.0+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.10.1+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.10.1+afl/opam |  1 +
 .../ocaml-variants.4.10.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.10.1+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.10.1+flambda/opam  |  1 +
 .../ocaml-variants.4.10.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.10.1+fp/opam  |  1 +
 .../ocaml-variants.4.10.1+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.10.1+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.10.1+no-flat-float-array/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.10.1+rc1+afl/opam  |  1 +
 .../ocaml-variants.4.10.1+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.10.2+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.10.2+afl/opam |  1 +
 .../ocaml-variants.4.10.2+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.10.2+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.10.2+flambda/opam  |  1 +
 .../ocaml-variants.4.10.2+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.10.2+fp/opam  |  1 +
 .../ocaml-variants.4.10.2+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.10.2+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.10.2+no-flat-float-array/opam     |  1 +
 .../ocaml-variants/ocaml-variants.4.10.2+rescript/opam |  1 +
 .../ocaml-variants.4.10.2+spacetime/opam               |  1 +
 .../ocaml-variants.4.10.3+trunk+afl/opam               |  1 +
 .../ocaml-variants.4.10.3+trunk+flambda/opam           |  1 +
 .../ocaml-variants/ocaml-variants.4.10.3+trunk+fp/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.10.3+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.11.0+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.0+afl/opam |  1 +
 .../ocaml-variants.4.11.0+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.11.0+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.11.0+flambda/opam  |  1 +
 .../ocaml-variants.4.11.0+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.0+fp/opam  |  1 +
 .../ocaml-variants.4.11.0+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.11.0+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.11.0+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.11.0+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.11.1+32bit/opam    |  1 +
 .../ocaml-variants.4.11.1+BER+flambda/opam             |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.1+BER/opam |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.1+afl/opam |  1 +
 .../ocaml-variants.4.11.1+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.11.1+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.11.1+flambda/opam  |  1 +
 .../ocaml-variants.4.11.1+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.1+fp/opam  |  1 +
 .../ocaml-variants.4.11.1+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.11.1+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.11.1+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.11.1+spacetime/opam               |  1 +
 .../ocaml-variants/ocaml-variants.4.11.2+32bit/opam    |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.2+afl/opam |  1 +
 .../ocaml-variants.4.11.2+bytecode-only/opam           |  1 +
 .../ocaml-variants.4.11.2+default-unsafe-string/opam   |  1 +
 .../opam                                               |  1 +
 .../ocaml-variants/ocaml-variants.4.11.2+flambda/opam  |  1 +
 .../ocaml-variants.4.11.2+fp+flambda/opam              |  1 +
 packages/ocaml-variants/ocaml-variants.4.11.2+fp/opam  |  1 +
 .../ocaml-variants.4.11.2+musl+flambda/opam            |  1 +
 .../ocaml-variants.4.11.2+musl+static+flambda/opam     |  1 +
 .../ocaml-variants.4.11.2+no-flat-float-array/opam     |  1 +
 .../ocaml-variants.4.11.2+spacetime/opam               |  1 +
 .../ocaml-variants.4.11.3+trunk+afl/opam               |  1 +
 .../ocaml-variants.4.11.3+trunk+flambda/opam           |  1 +
 .../ocaml-variants/ocaml-variants.4.11.3+trunk+fp/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.11.3+trunk/opam    |  1 +
 .../ocaml-variants.4.12.0+domains+effects/opam         |  1 +
 .../ocaml-variants/ocaml-variants.4.12.0+domains/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.12.0+options/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.12.1+options/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.12.2+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.13.0+options/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.13.1+options/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.13.2+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.4.14.0+options/opam  |  1 +
 packages/ocaml-variants/ocaml-variants.4.14.1+BER/opam |  1 +
 .../ocaml-variants/ocaml-variants.4.14.1+options/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.14.2+options/opam  |  1 +
 .../ocaml-variants.4.14.2~rc1+options/opam             |  1 +
 .../ocaml-variants/ocaml-variants.4.14.3+options/opam  |  1 +
 .../ocaml-variants/ocaml-variants.4.14.4+trunk/opam    |  1 +
 .../ocaml-variants/ocaml-variants.5.0.0+options/opam   |  1 +
 packages/ocaml-variants/ocaml-variants.5.0.0+tsan/opam |  1 +
 .../ocaml-variants/ocaml-variants.5.0.1+trunk/opam     |  1 +
 .../ocaml-variants/ocaml-variants.5.1.0+options/opam   |  1 +
 packages/ocaml-variants/ocaml-variants.5.1.0+tsan/opam |  1 +
 .../ocaml-variants.5.1.1+effect-syntax/opam            |  1 +
 .../ocaml-variants.5.1.1+flambda2+trunk/opam           |  1 +
 .../ocaml-variants/ocaml-variants.5.1.1+flambda2/opam  |  1 +
 .../ocaml-variants/ocaml-variants.5.1.1+options/opam   |  1 +
 packages/ocaml-variants/ocaml-variants.5.1.1+tsan/opam |  1 +
 .../ocaml-variants/ocaml-variants.5.1.2+trunk/opam     |  1 +
 packages/ocaml-variants/ocaml-variants.5.2.0+msvc/opam |  1 +
 .../ocaml-variants/ocaml-variants.5.2.0+options/opam   |  1 +
 .../ocaml-variants.5.2.0+statmemprof/opam              |  1 +
 .../ocaml-variants/ocaml-variants.5.2.1+options/opam   |  1 +
 .../ocaml-variants.5.2.1~rc1+options/opam              |  1 +
 .../ocaml-variants/ocaml-variants.5.2.2+trunk/opam     |  1 +
 packages/ocaml-variants/ocaml-variants.5.3.0+BER/opam  |  1 +
 packages/ocamlbuild/ocamlbuild.0.14.0/opam             |  1 +
 packages/ocamlbuild/ocamlbuild.0.14.1/opam             |  1 +
 packages/ocamlbuild/ocamlbuild.0.14.2+win/opam         |  1 +
 packages/ocamlbuild/ocamlbuild.0.14.2/opam             |  1 +
 packages/ocamlbuild/ocamlbuild.0.14.3+win/opam         |  1 +
 packages/ocamlbuild/ocamlbuild.0.14.3/opam             |  1 +
 packages/ocamlbuild/ocamlbuild.0.15.0/opam             |  1 +
 packages/ocamlbuild/ocamlbuild.0.16.1/opam             |  1 +
 packages/ocamlfind/ocamlfind.1.8.0/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.8.1/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.9.1/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.9.2/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.9.3/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.9.5/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.9.6/opam                |  1 +
 packages/ocamlfind/ocamlfind.1.9.8/opam                |  1 +
 packages/relocatable/relocatable.packages/opam         | 18 ++++++++++++++++++
 432 files changed, 464 insertions(+), 5 deletions(-)
 create mode 100644 packages/relocatable/relocatable.packages/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c)
2026-03-02 00:43.01 ---> using "3c18c9e472a4f76bc128dc0a5a1e21158ba3dbd0d6773ace6ec33f0cfe6fac9b" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-03-02 00:43.01 ---> using "7a3442ad99cd957e3ce65df65cad40aee4354c6d524c7813b8b589bc410c187e" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.

This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
           opam option jobs=71 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-02 00:43.01 ---> using "4214446d06a5b764dff5167574d07a5b4441731262795df63d7a3c5f64e1a189" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 255
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {>= "5.4.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.4.0
2026-03-02 00:43.01 ---> using "8bf276ecf196c09ac4fb294f887dce47d9744c212aabbbad5d313f0a4179272a" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2026-03-02 00:43.01 ---> using "c04e3f046c8eaf07d3d8f4b30debe47a6f7742bcdbfbfeb4d464149613cd35cd" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-02 00:43.02 ---> using "f28d2d55603b70a3956974bde95e68526d52d43abb5c3f086de712d28b994566" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-02 00:43.02 ---> using "3775e9b8ca53e7a42e175e2f214e7d345a02bf22f9dd6d271ae720654f277192" from cache

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [113 kB]
- Fetched 203 kB in 0s (1904 kB/s)
- Reading package lists...
2026-03-02 00:43.02 ---> using "a6fcf1eb697bb2cbcd49a3ac591b228ed4dfb5d9211b39971561804e137638fa" from cache

/home/opam: (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0~rc1 5.4.0~rc1"))
ocaml-compiler is now pinned to version 5.4.0~rc1
2026-03-02 00:43.02 ---> using "7f59afc8569d372cdff05a25219bb838bcd2ac1106223157c8c00d0d2de86f37" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall --update-invariant ocaml-compiler.5.4.0~rc1;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'ocaml-compiler.5.4.0~rc1' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
ocaml-compiler.5.4.0~rc1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== remove 1 package
  - remove    ocaml-base-compiler 5.4.0 (pinned)              [conflicts with ocaml-compiler]
=== downgrade 1 package
  - downgrade ocaml-compiler      5.4.0 to 5.4.0~rc1 (pinned)
=== recompile 6 packages
  - recompile base-domains        base                        [uses ocaml]
  - recompile base-effects        base                        [uses ocaml]
  - recompile base-nnp            base                        [uses base-domains]
  - recompile ocaml               5.4.0                       [uses ocaml-base-compiler]
  - recompile ocaml-config        3                           [uses ocaml-base-compiler]
  - recompile opam-depext         1.2.3                       [uses ocaml]
=== install 1 package
  - install   ocaml-variants      5.4.0~rc1+options           [required by ocaml]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-compiler.5.4.0~rc1  (cached)
-> retrieved ocaml-config.3  (cached)
-> retrieved opam-depext.1.2.3  (cached)
-> removed   base-effects.base
-> removed   base-nnp.base
-> removed   base-domains.base
-> removed   opam-depext.1.2.3
-> removed   ocaml.5.4.0
-> removed   ocaml-config.3
-> removed   ocaml-base-compiler.5.4.0
-> removed   ocaml-compiler.5.4.0
-> installed ocaml-compiler.5.4.0~rc1
-> installed ocaml-variants.5.4.0~rc1+options
-> installed ocaml-config.3
-> installed ocaml.5.4.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
-> installed opam-depext.1.2.3
[NOTE] Switch invariant was updated to ["ocaml-variants" {= "5.4.0~rc1+options"}]
       Use `opam switch set-invariant' to change it.
Done.

<><> opam-depext.1.2.3 installed successfully <><><><><><><><><><><><><><><><><>
=> opam-depext is unnecessary when used with opam >= 2.1. Please use opam install directly instead
# To update the current shell environment, run: eval $(opam env)
2026-03-02 00:43.02 ---> using "74f1d3c2ced61271e81f53a652eb1fc779b2788839e8821a36f8d5d64e64c908" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall glpk.0.1.6;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'glpk.0.1.6' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
glpk.0.1.6 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 2 packages
  - install glpk      0.1.6
  - install ocamlfind 1.9.8 [required by glpk]

The following system packages will first need to be installed:
    libglpk-dev

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
  2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libglpk-dev"
- Selecting previously unselected package libsuitesparseconfig7:amd64.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20654 files and directories currently installed.)
- Preparing to unpack .../00-libsuitesparseconfig7_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libsuitesparseconfig7:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libamd3:amd64.
- Preparing to unpack .../01-libamd3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libamd3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libblas3:amd64.
- Preparing to unpack .../02-libblas3_3.12.1-6_amd64.deb ...
- Unpacking libblas3:amd64 (3.12.1-6) ...
- Selecting previously unselected package libblas-dev:amd64.
- Preparing to unpack .../03-libblas-dev_3.12.1-6_amd64.deb ...
- Unpacking libblas-dev:amd64 (3.12.1-6) ...
- Selecting previously unselected package libbtf2:amd64.
- Preparing to unpack .../04-libbtf2_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libbtf2:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libcamd3:amd64.
- Preparing to unpack .../05-libcamd3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libcamd3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libccolamd3:amd64.
- Preparing to unpack .../06-libccolamd3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libccolamd3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libcolamd3:amd64.
- Preparing to unpack .../07-libcolamd3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libcolamd3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libgfortran5:amd64.
- Preparing to unpack .../08-libgfortran5_14.2.0-19_amd64.deb ...
- Unpacking libgfortran5:amd64 (14.2.0-19) ...
- Selecting previously unselected package liblapack3:amd64.
- Preparing to unpack .../09-liblapack3_3.12.1-6_amd64.deb ...
- Unpacking liblapack3:amd64 (3.12.1-6) ...
- Selecting previously unselected package libcholmod5:amd64.
- Preparing to unpack .../10-libcholmod5_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libcholmod5:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libcxsparse4:amd64.
- Preparing to unpack .../11-libcxsparse4_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libcxsparse4:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libltdl7:amd64.
- Preparing to unpack .../12-libltdl7_2.5.4-4_amd64.deb ...
- Unpacking libltdl7:amd64 (2.5.4-4) ...
- Selecting previously unselected package libglpk40:amd64.
- Preparing to unpack .../13-libglpk40_5.0-1+b2_amd64.deb ...
- Unpacking libglpk40:amd64 (5.0-1+b2) ...
- Selecting previously unselected package libgmpxx4ldbl:amd64.
- Preparing to unpack .../14-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package libgmp-dev:amd64.
- Preparing to unpack .../15-libgmp-dev_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package zlib1g-dev:amd64.
- Preparing to unpack .../16-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ...
- Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ...
- Selecting previously unselected package libklu2:amd64.
- Preparing to unpack .../17-libklu2_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libklu2:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libldl3:amd64.
- Preparing to unpack .../18-libldl3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libldl3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libsuitesparse-mongoose3:amd64.
- Preparing to unpack .../19-libsuitesparse-mongoose3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libsuitesparse-mongoose3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libumfpack6:amd64.
- Preparing to unpack .../20-libumfpack6_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libumfpack6:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package librbio4:amd64.
- Preparing to unpack .../21-librbio4_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking librbio4:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libspqr4:amd64.
- Preparing to unpack .../22-libspqr4_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libspqr4:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libspex3:amd64.
- Preparing to unpack .../23-libspex3_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libspex3:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libparu1:amd64.
- Preparing to unpack .../24-libparu1_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libparu1:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package liblapack-dev:amd64.
- Preparing to unpack .../25-liblapack-dev_3.12.1-6_amd64.deb ...
- Unpacking liblapack-dev:amd64 (3.12.1-6) ...
- Selecting previously unselected package libsuitesparse-dev:amd64.
- Preparing to unpack .../26-libsuitesparse-dev_1%3a7.10.1+dfsg-1_amd64.deb ...
- Unpacking libsuitesparse-dev:amd64 (1:7.10.1+dfsg-1) ...
- Selecting previously unselected package libglpk-dev:amd64.
- Preparing to unpack .../27-libglpk-dev_5.0-1+b2_amd64.deb ...
- Unpacking libglpk-dev:amd64 (5.0-1+b2) ...
- Selecting previously unselected package libgraphblas7:amd64.
- Preparing to unpack .../28-libgraphblas7_7.4.0+dfsg-2_amd64.deb ...
- Unpacking libgraphblas7:amd64 (7.4.0+dfsg-2) ...
- Selecting previously unselected package libgraphblas-dev:amd64.
- Preparing to unpack .../29-libgraphblas-dev_7.4.0+dfsg-2_amd64.deb ...
- Unpacking libgraphblas-dev:amd64 (7.4.0+dfsg-2) ...
- Setting up libgraphblas7:amd64 (7.4.0+dfsg-2) ...
- Setting up libldl3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libbtf2:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libgraphblas-dev:amd64 (7.4.0+dfsg-2) ...
- Setting up libblas3:amd64 (3.12.1-6) ...
- update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode
- Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Setting up libltdl7:amd64 (2.5.4-4) ...
- Setting up libgfortran5:amd64 (14.2.0-19) ...
- Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ...
- Setting up libsuitesparseconfig7:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libblas-dev:amd64 (3.12.1-6) ...
- update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so to provide /usr/lib/x86_64-linux-gnu/libblas.so (libblas.so-x86_64-linux-gnu) in auto mode
- Setting up liblapack3:amd64 (3.12.1-6) ...
- update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode
- Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Setting up libamd3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libcolamd3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libspex3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libsuitesparse-mongoose3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libcxsparse4:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libcamd3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libglpk40:amd64 (5.0-1+b2) ...
- Setting up librbio4:amd64 (1:7.10.1+dfsg-1) ...
- Setting up liblapack-dev:amd64 (3.12.1-6) ...
- update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so to provide /usr/lib/x86_64-linux-gnu/liblapack.so (liblapack.so-x86_64-linux-gnu) in auto mode
- Setting up libccolamd3:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libcholmod5:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libspqr4:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libklu2:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libumfpack6:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libparu1:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libsuitesparse-dev:amd64 (1:7.10.1+dfsg-1) ...
- Setting up libglpk-dev:amd64 (5.0-1+b2) ...
- Processing triggers for libc-bin (2.41-12+deb13u1) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved glpk.0.1.6  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> installed ocamlfind.1.9.8
[ERROR] The compilation of glpk.0.1.6 failed at "make byte opt".

#=== ERROR while compiling glpk.0.1.6 =========================================#
# context              2.5.0 | linux/x86_64 | ocaml-variants.5.4.0~rc1+options | file:///home/opam/opam-repository
# path                 ~/.opam/5.4/.opam-switch/build/glpk.0.1.6
# command              ~/.opam/opam-init/hooks/sandbox.sh build make byte opt
# exit-code            2
# env-file             ~/.opam/log/glpk-7-97d03d.env
# output-file          ~/.opam/log/glpk-7-97d03d.out
### output ###
# make -C src byte
# make[1]: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/glpk.0.1.6/src'
# make[2]: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/glpk.0.1.6/src'
# making ._d/glpk.d from glpk.ml
# making ._bcdi/glpk.di from glpk.mli
# OCamlMakefile:1035: warning: pattern recipe did not update peer target '._ncdi/glpk.di'.
# ocamlc -c -cc "cc" -ccopt "-fPIC -Wall -ansi -DCAML_NAME_SPACE -g \
# 			-DPIC   \
# 			    -o glpk_stubs.o " glpk_stubs.c 
# In file included from /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:19,
#                  from glpk_stubs.c:23:
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:371:25: error: expected ';' before 'void'
#   371 |   CAMLnoret Caml_inline void caml_abort(void) {
#       |                         ^~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:452:13: error: expected ';' before 'int'
#   452 | Caml_inline int caml_uadd_overflow(uintnat a, uintnat b, uintnat * res)
#       |             ^~~
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:463:13: error: expected ';' before 'int'
#   463 | Caml_inline int caml_usub_overflow(uintnat a, uintnat b, uintnat * res)
#       |             ^~~
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:475:13: error: expected ';' before 'int'
#   475 | Caml_inline int caml_umul_overflow(uintnat a, uintnat b, uintnat * res)
#       |             ^~~
# In file included from /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:20:
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:116:13: error: expected ';' before 'int'
#   116 | Caml_inline int caml_result_is_exception(struct caml_result_private result)
#       |             ^~~
# In file included from /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:21:
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:188:22: note: in expansion of macro 'Caml_inline'
#   188 | CAMLno_tsan_for_perf Caml_inline header_t Hd_val(value val)
#       |                      ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:188:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Hd_val'
#   188 | CAMLno_tsan_for_perf Caml_inline header_t Hd_val(value val)
#       |                                           ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:300:1: note: in expansion of macro 'Caml_inline'
#   300 | Caml_inline value Val_ptr(void* p)
#       | ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:300:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Val_ptr'
#   300 | Caml_inline value Val_ptr(void* p)
#       |                   ^~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:305:13: error: expected ';' before 'void'
#   305 | Caml_inline void* Ptr_val(value val)
#       |             ^~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:74:1: note: in expansion of macro 'Caml_inline'
#    74 | Caml_inline value caml_alloc_unboxed (value arg) { return arg; }
#       | ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:74:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_alloc_unboxed'
#    74 | Caml_inline value caml_alloc_unboxed (value arg) { return arg; }
#       |                   ^~~~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:75:1: note: in expansion of macro 'Caml_inline'
#    75 | Caml_inline value caml_alloc_boxed (value arg) {
#       | ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:75:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_alloc_boxed'
#    75 | Caml_inline value caml_alloc_boxed (value arg) {
#       |                   ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:80:1: note: in expansion of macro 'Caml_inline'
#    80 | Caml_inline value caml_field_unboxed (value arg) { return arg; }
#       | ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:80:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_field_unboxed'
#    80 | Caml_inline value caml_field_unboxed (value arg) { return arg; }
#       |                   ^~~~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:81:1: note: in expansion of macro 'Caml_inline'
#    81 | Caml_inline value caml_field_boxed (value arg) { return Field (arg, 0); }
#       | ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:81:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_field_boxed'
#    81 | Caml_inline value caml_field_boxed (value arg) { return Field (arg, 0); }
#       |                   ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
#    43 | #define Caml_inline static inline
#       |                            ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/fail.h:137:1: note: in expansion of macro 'Caml_inline'
#   137 | Caml_inline value caml_get_value_or_raise (struct caml_result_private result)
#       | ^~~~~~~~~~~
# In file included from glpk_stubs.c:26:
# /home/opam/.opam/5.4/lib/ocaml/caml/fail.h:137:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_get_value_or_raise'
#   137 | Caml_inline value caml_get_value_or_raise (struct caml_result_private result)
#       |                   ^~~~~~~~~~~~~~~~~~~~~~~
# glpk_stubs.c: In function 'raise_on_error':
# glpk_stubs.c:40:10: error: 'LPX_E_OK' undeclared (first use in this function)
#    40 |     case LPX_E_OK:
#       |          ^~~~~~~~
# glpk_stubs.c:40:10: note: each undeclared identifier is reported only once for each function it appears in
# glpk_stubs.c:43:10: error: 'LPX_E_FAULT' undeclared (first use in this function)
#    43 |     case LPX_E_FAULT:
#       |          ^~~~~~~~~~~
# glpk_stubs.c:46:10: error: 'LPX_E_OBJLL' undeclared (first use in this function); did you mean 'GLP_EOBJLL'?
#    46 |     case LPX_E_OBJLL:
#       |          ^~~~~~~~~~~
#       |          GLP_EOBJLL
# glpk_stubs.c:49:10: error: 'LPX_E_OBJUL' undeclared (first use in this function); did you mean 'GLP_EOBJUL'?
#    49 |     case LPX_E_OBJUL:
#       |          ^~~~~~~~~~~
#       |          GLP_EOBJUL
# glpk_stubs.c:52:10: error: 'LPX_E_NOPFS' undeclared (first use in this function); did you mean 'GLP_ENOPFS'?
#    52 |     case LPX_E_NOPFS:
#       |          ^~~~~~~~~~~
#       |          GLP_ENOPFS
# glpk_stubs.c:55:10: error: 'LPX_E_NODFS' undeclared (first use in this function); did you mean 'GLP_ENODFS'?
#    55 |     case LPX_E_NODFS:
#       |          ^~~~~~~~~~~
#       |          GLP_ENODFS
# glpk_stubs.c:58:10: error: 'LPX_E_ITLIM' undeclared (first use in this function); did you mean 'GLP_EITLIM'?
#    58 |     case LPX_E_ITLIM:
#       |          ^~~~~~~~~~~
#       |          GLP_EITLIM
# glpk_stubs.c:61:10: error: 'LPX_E_TMLIM' undeclared (first use in this function); did you mean 'GLP_ETMLIM'?
#    61 |     case LPX_E_TMLIM:
#       |          ^~~~~~~~~~~
#       |          GLP_ETMLIM
# glpk_stubs.c:64:10: error: 'LPX_E_SING' undeclared (first use in this function); did you mean 'GLP_ESING'?
#    64 |     case LPX_E_SING:
#       |          ^~~~~~~~~~
#       |          GLP_ESING
# glpk_stubs.c:67:10: error: 'LPX_E_EMPTY' undeclared (first use in this function)
#    67 |     case LPX_E_EMPTY:
#       |          ^~~~~~~~~~~
# glpk_stubs.c:70:10: error: 'LPX_E_BADB' undeclared (first use in this function); did you mean 'GLP_EBADB'?
#    70 |     case LPX_E_BADB:
#       |          ^~~~~~~~~~
#       |          GLP_EBADB
# glpk_stubs.c:73:10: error: 'LPX_E_NOCONV' undeclared (first use in this function)
#    73 |     case LPX_E_NOCONV:
#       |          ^~~~~~~~~~~~
# glpk_stubs.c: In function 'finalize_lpx':
# glpk_stubs.c:86:3: warning: implicit declaration of function 'lpx_delete_prob'; did you mean 'glp_delete_prob'? [-Wimplicit-function-declaration]
#    86 |   lpx_delete_prob(Lpx_val(block));
#       |   ^~~~~~~~~~~~~~~
#       |   glp_delete_prob
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:86:19: note: in expansion of macro 'Lpx_val'
#    86 |   lpx_delete_prob(Lpx_val(block));
#       |                   ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:86:19: note: in expansion of macro 'Lpx_val'
#    86 |   lpx_delete_prob(Lpx_val(block));
#       |                   ^~~~~~~
# glpk_stubs.c: At top level:
# glpk_stubs.c:99:22: error: unknown type name 'LPX'
#    99 | static value new_blp(LPX* lp)
#       |                      ^~~
# glpk_stubs.c: In function 'ocaml_glpk_new_prob':
# glpk_stubs.c:108:3: error: unknown type name 'LPX'
#   108 |   LPX *lp = lpx_create_prob();
#       |   ^~~
# glpk_stubs.c:108:13: warning: implicit declaration of function 'lpx_create_prob'; did you mean 'glp_create_prob'? [-Wimplicit-function-declaration]
#   108 |   LPX *lp = lpx_create_prob();
#       |             ^~~~~~~~~~~~~~~
#       |             glp_create_prob
# glpk_stubs.c:108:13: warning: initialization of 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
# glpk_stubs.c:109:10: warning: implicit declaration of function 'new_blp' [-Wimplicit-function-declaration]
#   109 |   return new_blp(lp);
#       |          ^~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_prob_name':
# glpk_stubs.c:114:3: error: unknown type name 'LPX'
#   114 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:114:13: note: in expansion of macro 'Lpx_val'
#   114 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:114:13: note: in expansion of macro 'Lpx_val'
#   114 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:115:3: warning: implicit declaration of function 'lpx_set_prob_name'; did you mean 'glp_set_prob_name'? [-Wimplicit-function-declaration]
#   115 |   lpx_set_prob_name(lp, String_val(name));
#       |   ^~~~~~~~~~~~~~~~~
#       |   glp_set_prob_name
# glpk_stubs.c: In function 'ocaml_glpk_get_prob_name':
# glpk_stubs.c:122:3: error: unknown type name 'LPX'
#   122 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:122:13: note: in expansion of macro 'Lpx_val'
#   122 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:122:13: note: in expansion of macro 'Lpx_val'
#   122 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# In file included from /home/opam/.opam/5.4/lib/ocaml/caml/callback.h:22,
#                  from glpk_stubs.c:24:
# glpk_stubs.c:123:31: warning: implicit declaration of function 'lpx_get_prob_name'; did you mean 'glp_get_prob_name'? [-Wimplicit-function-declaration]
#   123 |   CAMLreturn(caml_copy_string(lpx_get_prob_name(lp)));
#       |                               ^~~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:123:3: note: in expansion of macro 'CAMLreturn'
#   123 |   CAMLreturn(caml_copy_string(lpx_get_prob_name(lp)));
#       |   ^~~~~~~~~~
# glpk_stubs.c:123:31: warning: passing argument 1 of 'caml_copy_string' makes pointer from integer without a cast [-Wint-conversion]
#   123 |   CAMLreturn(caml_copy_string(lpx_get_prob_name(lp)));
#       |                               ^~~~~~~~~~~~~~~~~~~~~
#       |                               |
#       |                               int
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:123:3: note: in expansion of macro 'CAMLreturn'
#   123 |   CAMLreturn(caml_copy_string(lpx_get_prob_name(lp)));
#       |   ^~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:50:36: note: expected 'const char *' but argument is of type 'int'
#    50 | CAMLextern value caml_copy_string (char const *);
#       |                                    ^~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_obj_name':
# glpk_stubs.c:128:3: error: unknown type name 'LPX'
#   128 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:128:13: note: in expansion of macro 'Lpx_val'
#   128 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:128:13: note: in expansion of macro 'Lpx_val'
#   128 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:129:3: warning: implicit declaration of function 'lpx_set_obj_name'; did you mean 'glp_set_obj_name'? [-Wimplicit-function-declaration]
#   129 |   lpx_set_obj_name(lp, String_val(name));
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_obj_name
# glpk_stubs.c: In function 'ocaml_glpk_get_obj_name':
# glpk_stubs.c:136:3: error: unknown type name 'LPX'
#   136 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:136:13: note: in expansion of macro 'Lpx_val'
#   136 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:136:13: note: in expansion of macro 'Lpx_val'
#   136 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:137:31: warning: implicit declaration of function 'lpx_get_obj_name'; did you mean 'glp_get_obj_name'? [-Wimplicit-function-declaration]
#   137 |   CAMLreturn(caml_copy_string(lpx_get_obj_name(lp)));
#       |                               ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:137:3: note: in expansion of macro 'CAMLreturn'
#   137 |   CAMLreturn(caml_copy_string(lpx_get_obj_name(lp)));
#       |   ^~~~~~~~~~
# glpk_stubs.c:137:31: warning: passing argument 1 of 'caml_copy_string' makes pointer from integer without a cast [-Wint-conversion]
#   137 |   CAMLreturn(caml_copy_string(lpx_get_obj_name(lp)));
#       |                               ^~~~~~~~~~~~~~~~~~~~
#       |                               |
#       |                               int
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:137:3: note: in expansion of macro 'CAMLreturn'
#   137 |   CAMLreturn(caml_copy_string(lpx_get_obj_name(lp)));
#       |   ^~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:50:36: note: expected 'const char *' but argument is of type 'int'
#    50 | CAMLextern value caml_copy_string (char const *);
#       |                                    ^~~~~~~~~~~~
# glpk_stubs.c: At top level:
# glpk_stubs.c:140:33: error: 'LPX_MIN' undeclared here (not in a function); did you mean 'GLP_MIN'?
#   140 | static int direction_table[] = {LPX_MIN, LPX_MAX};
#       |                                 ^~~~~~~
#       |                                 GLP_MIN
# glpk_stubs.c:140:42: error: 'LPX_MAX' undeclared here (not in a function); did you mean 'GLP_MAX'?
#   140 | static int direction_table[] = {LPX_MIN, LPX_MAX};
#       |                                          ^~~~~~~
#       |                                          GLP_MAX
# glpk_stubs.c: In function 'ocaml_glpk_set_direction':
# glpk_stubs.c:144:3: error: unknown type name 'LPX'
#   144 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:144:13: note: in expansion of macro 'Lpx_val'
#   144 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:144:13: note: in expansion of macro 'Lpx_val'
#   144 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:145:3: warning: implicit declaration of function 'lpx_set_obj_dir'; did you mean 'glp_set_obj_dir'? [-Wimplicit-function-declaration]
#   145 |   lpx_set_obj_dir(lp, direction_table[Int_val(direction)]);
#       |   ^~~~~~~~~~~~~~~
#       |   glp_set_obj_dir
# glpk_stubs.c: In function 'ocaml_glpk_get_direction':
# glpk_stubs.c:151:3: error: unknown type name 'LPX'
#   151 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:151:13: note: in expansion of macro 'Lpx_val'
#   151 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:151:13: note: in expansion of macro 'Lpx_val'
#   151 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:152:10: warning: implicit declaration of function 'lpx_get_obj_dir'; did you mean 'glp_get_obj_dir'? [-Wimplicit-function-declaration]
#   152 |   switch(lpx_get_obj_dir(lp))
#       |          ^~~~~~~~~~~~~~~
#       |          glp_get_obj_dir
# glpk_stubs.c: In function 'ocaml_glpk_add_rows':
# glpk_stubs.c:167:3: error: unknown type name 'LPX'
#   167 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:167:13: note: in expansion of macro 'Lpx_val'
#   167 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:167:13: note: in expansion of macro 'Lpx_val'
#   167 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:168:3: warning: implicit declaration of function 'lpx_add_rows'; did you mean 'glp_add_rows'? [-Wimplicit-function-declaration]
#   168 |   lpx_add_rows(lp, Int_val(n));
#       |   ^~~~~~~~~~~~
#       |   glp_add_rows
# glpk_stubs.c: In function 'ocaml_glpk_set_row_name':
# glpk_stubs.c:174:3: error: unknown type name 'LPX'
#   174 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:174:13: note: in expansion of macro 'Lpx_val'
#   174 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:174:13: note: in expansion of macro 'Lpx_val'
#   174 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:175:3: warning: implicit declaration of function 'lpx_set_row_name'; did you mean 'glp_set_row_name'? [-Wimplicit-function-declaration]
#   175 |   lpx_set_row_name(lp, Int_val(n) + 1, String_val(name));
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_row_name
# glpk_stubs.c: In function 'ocaml_glpk_get_row_name':
# glpk_stubs.c:182:3: error: unknown type name 'LPX'
#   182 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:182:13: note: in expansion of macro 'Lpx_val'
#   182 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:182:13: note: in expansion of macro 'Lpx_val'
#   182 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:183:31: warning: implicit declaration of function 'lpx_get_row_name'; did you mean 'glp_get_row_name'? [-Wimplicit-function-declaration]
#   183 |   CAMLreturn(caml_copy_string(lpx_get_row_name(lp, Int_val(n) + 1)));
#       |                               ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:183:3: note: in expansion of macro 'CAMLreturn'
#   183 |   CAMLreturn(caml_copy_string(lpx_get_row_name(lp, Int_val(n) + 1)));
#       |   ^~~~~~~~~~
# glpk_stubs.c:183:31: warning: passing argument 1 of 'caml_copy_string' makes pointer from integer without a cast [-Wint-conversion]
#   183 |   CAMLreturn(caml_copy_string(lpx_get_row_name(lp, Int_val(n) + 1)));
#       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#       |                               |
#       |                               int
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:183:3: note: in expansion of macro 'CAMLreturn'
#   183 |   CAMLreturn(caml_copy_string(lpx_get_row_name(lp, Int_val(n) + 1)));
#       |   ^~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:50:36: note: expected 'const char *' but argument is of type 'int'
#    50 | CAMLextern value caml_copy_string (char const *);
#       |                                    ^~~~~~~~~~~~
# glpk_stubs.c: At top level:
# glpk_stubs.c:186:34: error: 'LPX_FR' undeclared here (not in a function); did you mean 'GLP_FR'?
#   186 | static int auxvartype_table[] = {LPX_FR, LPX_LO, LPX_UP, LPX_DB, LPX_FX};
#       |                                  ^~~~~~
#       |                                  GLP_FR
# glpk_stubs.c:186:42: error: 'LPX_LO' undeclared here (not in a function); did you mean 'GLP_LO'?
#   186 | static int auxvartype_table[] = {LPX_FR, LPX_LO, LPX_UP, LPX_DB, LPX_FX};
#       |                                          ^~~~~~
#       |                                          GLP_LO
# glpk_stubs.c:186:50: error: 'LPX_UP' undeclared here (not in a function); did you mean 'GLP_UP'?
#   186 | static int auxvartype_table[] = {LPX_FR, LPX_LO, LPX_UP, LPX_DB, LPX_FX};
#       |                                                  ^~~~~~
#       |                                                  GLP_UP
# glpk_stubs.c:186:58: error: 'LPX_DB' undeclared here (not in a function); did you mean 'GLP_DB'?
#   186 | static int auxvartype_table[] = {LPX_FR, LPX_LO, LPX_UP, LPX_DB, LPX_FX};
#       |                                                          ^~~~~~
#       |                                                          GLP_DB
# glpk_stubs.c:186:66: error: 'LPX_FX' undeclared here (not in a function); did you mean 'GLP_FX'?
#   186 | static int auxvartype_table[] = {LPX_FR, LPX_LO, LPX_UP, LPX_DB, LPX_FX};
#       |                                                                  ^~~~~~
#       |                                                                  GLP_FX
# glpk_stubs.c: In function 'ocaml_glpk_set_row_bounds':
# glpk_stubs.c:190:3: error: unknown type name 'LPX'
#   190 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:190:13: note: in expansion of macro 'Lpx_val'
#   190 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:190:13: note: in expansion of macro 'Lpx_val'
#   190 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:191:3: warning: implicit declaration of function 'lpx_set_row_bnds'; did you mean 'glp_set_row_bnds'? [-Wimplicit-function-declaration]
#   191 |   lpx_set_row_bnds(lp, Int_val(n) + 1, auxvartype_table[Int_val(type)], Double_val(lb), Double_val(ub));
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_row_bnds
# glpk_stubs.c: In function 'ocaml_glpk_add_cols':
# glpk_stubs.c:197:3: error: unknown type name 'LPX'
#   197 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:197:13: note: in expansion of macro 'Lpx_val'
#   197 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:197:13: note: in expansion of macro 'Lpx_val'
#   197 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:198:3: warning: implicit declaration of function 'lpx_add_cols'; did you mean 'glp_add_cols'? [-Wimplicit-function-declaration]
#   198 |   lpx_add_cols(lp, Int_val(n));
#       |   ^~~~~~~~~~~~
#       |   glp_add_cols
# glpk_stubs.c: In function 'ocaml_glpk_set_col_name':
# glpk_stubs.c:204:3: error: unknown type name 'LPX'
#   204 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:204:13: note: in expansion of macro 'Lpx_val'
#   204 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:204:13: note: in expansion of macro 'Lpx_val'
#   204 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:205:3: warning: implicit declaration of function 'lpx_set_col_name'; did you mean 'glp_set_col_name'? [-Wimplicit-function-declaration]
#   205 |   lpx_set_col_name(lp, Int_val(n) + 1, String_val(name));
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_col_name
# glpk_stubs.c: In function 'ocaml_glpk_get_col_name':
# glpk_stubs.c:212:3: error: unknown type name 'LPX'
#   212 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:212:13: note: in expansion of macro 'Lpx_val'
#   212 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:212:13: note: in expansion of macro 'Lpx_val'
#   212 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:213:31: warning: implicit declaration of function 'lpx_get_col_name'; did you mean 'glp_get_col_name'? [-Wimplicit-function-declaration]
#   213 |   CAMLreturn(caml_copy_string(lpx_get_col_name(lp, Int_val(n) + 1)));
#       |                               ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:213:3: note: in expansion of macro 'CAMLreturn'
#   213 |   CAMLreturn(caml_copy_string(lpx_get_col_name(lp, Int_val(n) + 1)));
#       |   ^~~~~~~~~~
# glpk_stubs.c:213:31: warning: passing argument 1 of 'caml_copy_string' makes pointer from integer without a cast [-Wint-conversion]
#   213 |   CAMLreturn(caml_copy_string(lpx_get_col_name(lp, Int_val(n) + 1)));
#       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#       |                               |
#       |                               int
# /home/opam/.opam/5.4/lib/ocaml/caml/memory.h:457:29: note: in definition of macro 'CAMLreturnT'
#   457 |   type caml__temp_result = (result); \
#       |                             ^~~~~~
# glpk_stubs.c:213:3: note: in expansion of macro 'CAMLreturn'
#   213 |   CAMLreturn(caml_copy_string(lpx_get_col_name(lp, Int_val(n) + 1)));
#       |   ^~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:50:36: note: expected 'const char *' but argument is of type 'int'
#    50 | CAMLextern value caml_copy_string (char const *);
#       |                                    ^~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_col_bounds':
# glpk_stubs.c:218:3: error: unknown type name 'LPX'
#   218 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:218:13: note: in expansion of macro 'Lpx_val'
#   218 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:218:13: note: in expansion of macro 'Lpx_val'
#   218 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:219:3: warning: implicit declaration of function 'lpx_set_col_bnds'; did you mean 'glp_set_col_bnds'? [-Wimplicit-function-declaration]
#   219 |   lpx_set_col_bnds(lp, Int_val(n) + 1, auxvartype_table[Int_val(type)], Double_val(lb), Double_val(ub));
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_col_bnds
# glpk_stubs.c: In function 'ocaml_glpk_set_obj_coef':
# glpk_stubs.c:225:3: error: unknown type name 'LPX'
#   225 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:225:13: note: in expansion of macro 'Lpx_val'
#   225 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:225:13: note: in expansion of macro 'Lpx_val'
#   225 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:226:3: warning: implicit declaration of function 'lpx_set_obj_coef'; did you mean 'glp_set_obj_coef'? [-Wimplicit-function-declaration]
#   226 |   lpx_set_obj_coef(lp, Int_val(n) + 1, Double_val(coef));
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_obj_coef
# glpk_stubs.c: In function 'ocaml_glpk_load_matrix':
# glpk_stubs.c:232:3: error: unknown type name 'LPX'
#   232 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:232:13: note: in expansion of macro 'Lpx_val'
#   232 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:232:13: note: in expansion of macro 'Lpx_val'
#   232 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:207:37: warning: implicit declaration of function 'Hd_val'; did you mean 'Hp_val'? [-Wimplicit-function-declaration]
#   207 | #define Wosize_val(val) (Wosize_hd (Hd_val (val)))
#       |                                     ^~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:162:38: note: in definition of macro 'Wosize_hd'
#   162 | #define Wosize_hd(hd) ((mlsize_t) (((hd) & HEADER_WOSIZE_MASK) \
#       |                                      ^~
# glpk_stubs.c:233:15: note: in expansion of macro 'Wosize_val'
#   233 |   int i_dim = Wosize_val(matrix), j_dim;
#       |               ^~~~~~~~~~
# glpk_stubs.c:265:3: warning: implicit declaration of function 'lpx_load_matrix'; did you mean 'glp_load_matrix'? [-Wimplicit-function-declaration]
#   265 |   lpx_load_matrix(lp, n - 1, ia, ja, ar);
#       |   ^~~~~~~~~~~~~~~
#       |   glp_load_matrix
# glpk_stubs.c: In function 'ocaml_glpk_load_sparse_matrix':
# glpk_stubs.c:276:3: error: unknown type name 'LPX'
#   276 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:276:13: note: in expansion of macro 'Lpx_val'
#   276 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:276:13: note: in expansion of macro 'Lpx_val'
#   276 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_simplex':
# glpk_stubs.c:306:3: error: unknown type name 'LPX'
#   306 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:306:13: note: in expansion of macro 'Lpx_val'
#   306 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:306:13: note: in expansion of macro 'Lpx_val'
#   306 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:310:9: warning: implicit declaration of function 'lpx_simplex'; did you mean 'glp_simplex'? [-Wimplicit-function-declaration]
#   310 |   ret = lpx_simplex(lp);
#       |         ^~~~~~~~~~~
#       |         glp_simplex
# glpk_stubs.c: In function 'ocaml_glpk_get_obj_val':
# glpk_stubs.c:319:3: error: unknown type name 'LPX'
#   319 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:319:13: note: in expansion of macro 'Lpx_val'
#   319 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:319:13: note: in expansion of macro 'Lpx_val'
#   319 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:321:7: warning: implicit declaration of function 'lpx_get_class' [-Wimplicit-function-declaration]
#   321 |   if (lpx_get_class(lp) == LPX_MIP)
#       |       ^~~~~~~~~~~~~
# glpk_stubs.c:321:28: error: 'LPX_MIP' undeclared (first use in this function); did you mean 'GLP_MIP'?
#   321 |   if (lpx_get_class(lp) == LPX_MIP)
#       |                            ^~~~~~~
#       |                            GLP_MIP
# glpk_stubs.c:322:11: warning: implicit declaration of function 'lpx_mip_obj_val'; did you mean 'glp_mip_obj_val'? [-Wimplicit-function-declaration]
#   322 |     ans = lpx_mip_obj_val(lp);
#       |           ^~~~~~~~~~~~~~~
#       |           glp_mip_obj_val
# glpk_stubs.c:324:11: warning: implicit declaration of function 'lpx_get_obj_val'; did you mean 'glp_get_obj_val'? [-Wimplicit-function-declaration]
#   324 |     ans = lpx_get_obj_val(lp);
#       |           ^~~~~~~~~~~~~~~
#       |           glp_get_obj_val
# glpk_stubs.c: In function 'ocaml_glpk_get_col_prim':
# glpk_stubs.c:330:3: error: unknown type name 'LPX'
#   330 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:330:13: note: in expansion of macro 'Lpx_val'
#   330 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:330:13: note: in expansion of macro 'Lpx_val'
#   330 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:333:28: error: 'LPX_MIP' undeclared (first use in this function); did you mean 'GLP_MIP'?
#   333 |   if (lpx_get_class(lp) == LPX_MIP)
#       |                            ^~~~~~~
#       |                            GLP_MIP
# glpk_stubs.c:334:11: warning: implicit declaration of function 'lpx_mip_col_val'; did you mean 'glp_mip_col_val'? [-Wimplicit-function-declaration]
#   334 |     ans = lpx_mip_col_val(lp, Int_val(n) + 1);
#       |           ^~~~~~~~~~~~~~~
#       |           glp_mip_col_val
# glpk_stubs.c:336:11: warning: implicit declaration of function 'lpx_get_col_prim'; did you mean 'glp_get_col_prim'? [-Wimplicit-function-declaration]
#   336 |     ans = lpx_get_col_prim(lp, Int_val(n) + 1);
#       |           ^~~~~~~~~~~~~~~~
#       |           glp_get_col_prim
# glpk_stubs.c: In function 'ocaml_glpk_get_row_prim':
# glpk_stubs.c:342:3: error: unknown type name 'LPX'
#   342 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:342:13: note: in expansion of macro 'Lpx_val'
#   342 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:342:13: note: in expansion of macro 'Lpx_val'
#   342 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:343:27: warning: implicit declaration of function 'lpx_get_row_prim'; did you mean 'glp_get_row_prim'? [-Wimplicit-function-declaration]
#   343 |   return caml_copy_double(lpx_get_row_prim(lp, Int_val(n) + 1));
#       |                           ^~~~~~~~~~~~~~~~
#       |                           glp_get_row_prim
# glpk_stubs.c: In function 'ocaml_glpk_get_row_dual':
# glpk_stubs.c:348:3: error: unknown type name 'LPX'
#   348 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:348:13: note: in expansion of macro 'Lpx_val'
#   348 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:348:13: note: in expansion of macro 'Lpx_val'
#   348 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:349:27: warning: implicit declaration of function 'lpx_get_row_dual'; did you mean 'glp_get_row_dual'? [-Wimplicit-function-declaration]
#   349 |   return caml_copy_double(lpx_get_row_dual(lp, Int_val(n) + 1));
#       |                           ^~~~~~~~~~~~~~~~
#       |                           glp_get_row_dual
# glpk_stubs.c: In function 'ocaml_glpk_get_num_rows':
# glpk_stubs.c:354:3: error: unknown type name 'LPX'
#   354 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:354:13: note: in expansion of macro 'Lpx_val'
#   354 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:354:13: note: in expansion of macro 'Lpx_val'
#   354 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:355:18: warning: implicit declaration of function 'lpx_get_num_rows'; did you mean 'glp_get_num_rows'? [-Wimplicit-function-declaration]
#   355 |   return Val_int(lpx_get_num_rows(lp));
#       |                  ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:355:10: note: in expansion of macro 'Val_int'
#   355 |   return Val_int(lpx_get_num_rows(lp));
#       |          ^~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_num_cols':
# glpk_stubs.c:360:3: error: unknown type name 'LPX'
#   360 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:360:13: note: in expansion of macro 'Lpx_val'
#   360 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:360:13: note: in expansion of macro 'Lpx_val'
#   360 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:361:18: warning: implicit declaration of function 'lpx_get_num_cols'; did you mean 'glp_get_num_cols'? [-Wimplicit-function-declaration]
#   361 |   return Val_int(lpx_get_num_cols(lp));
#       |                  ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:361:10: note: in expansion of macro 'Val_int'
#   361 |   return Val_int(lpx_get_num_cols(lp));
#       |          ^~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_scale_problem':
# glpk_stubs.c:366:3: error: unknown type name 'LPX'
#   366 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:366:13: note: in expansion of macro 'Lpx_val'
#   366 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:366:13: note: in expansion of macro 'Lpx_val'
#   366 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:367:3: warning: implicit declaration of function 'lpx_scale_prob'; did you mean 'glp_scale_prob'? [-Wimplicit-function-declaration]
#   367 |   lpx_scale_prob(lp);
#       |   ^~~~~~~~~~~~~~
#       |   glp_scale_prob
# glpk_stubs.c: In function 'ocaml_glpk_unscale_problem':
# glpk_stubs.c:373:3: error: unknown type name 'LPX'
#   373 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:373:13: note: in expansion of macro 'Lpx_val'
#   373 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:373:13: note: in expansion of macro 'Lpx_val'
#   373 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:374:3: warning: implicit declaration of function 'lpx_unscale_prob'; did you mean 'glp_unscale_prob'? [-Wimplicit-function-declaration]
#   374 |   lpx_unscale_prob(lp);
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_unscale_prob
# glpk_stubs.c: In function 'ocaml_glpk_interior':
# glpk_stubs.c:389:3: error: unknown type name 'LPX'
#   389 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:389:13: note: in expansion of macro 'Lpx_val'
#   389 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:389:13: note: in expansion of macro 'Lpx_val'
#   389 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:393:9: warning: implicit declaration of function 'lpx_interior'; did you mean 'glp_interior'? [-Wimplicit-function-declaration]
#   393 |   ret = lpx_interior(lp);
#       |         ^~~~~~~~~~~~
#       |         glp_interior
# glpk_stubs.c: At top level:
# glpk_stubs.c:400:29: error: 'LPX_LP' undeclared here (not in a function)
#   400 | static int class_table[] = {LPX_LP, LPX_MIP};
#       |                             ^~~~~~
# glpk_stubs.c:400:37: error: 'LPX_MIP' undeclared here (not in a function); did you mean 'GLP_MIP'?
#   400 | static int class_table[] = {LPX_LP, LPX_MIP};
#       |                                     ^~~~~~~
#       |                                     GLP_MIP
# glpk_stubs.c: In function 'ocaml_glpk_set_class':
# glpk_stubs.c:404:3: error: unknown type name 'LPX'
#   404 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:404:13: note: in expansion of macro 'Lpx_val'
#   404 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:404:13: note: in expansion of macro 'Lpx_val'
#   404 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:405:3: warning: implicit declaration of function 'lpx_set_class' [-Wimplicit-function-declaration]
#   405 |   lpx_set_class(lp, class_table[Int_val(class)]);
#       |   ^~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_class':
# glpk_stubs.c:411:3: error: unknown type name 'LPX'
#   411 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:411:13: note: in expansion of macro 'Lpx_val'
#   411 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:411:13: note: in expansion of macro 'Lpx_val'
#   411 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c: At top level:
# glpk_stubs.c:425:28: error: 'LPX_CV' undeclared here (not in a function); did you mean 'GLP_CV'?
#   425 | static int kind_table[] = {LPX_CV, LPX_IV};
#       |                            ^~~~~~
#       |                            GLP_CV
# glpk_stubs.c:425:36: error: 'LPX_IV' undeclared here (not in a function); did you mean 'GLP_IV'?
#   425 | static int kind_table[] = {LPX_CV, LPX_IV};
#       |                                    ^~~~~~
#       |                                    GLP_IV
# glpk_stubs.c: In function 'ocaml_glpk_set_col_kind':
# glpk_stubs.c:429:3: error: unknown type name 'LPX'
#   429 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:429:13: note: in expansion of macro 'Lpx_val'
#   429 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:429:13: note: in expansion of macro 'Lpx_val'
#   429 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:430:3: warning: implicit declaration of function 'lpx_set_col_kind'; did you mean 'glp_set_col_kind'? [-Wimplicit-function-declaration]
#   430 |   lpx_set_col_kind(lp, Int_val(n) + 1, kind_table[Int_val(kind)]);
#       |   ^~~~~~~~~~~~~~~~
#       |   glp_set_col_kind
# glpk_stubs.c: In function 'ocaml_glpk_integer':
# glpk_stubs.c:437:3: error: unknown type name 'LPX'
#   437 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:437:13: note: in expansion of macro 'Lpx_val'
#   437 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:437:13: note: in expansion of macro 'Lpx_val'
#   437 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:441:9: warning: implicit declaration of function 'lpx_integer' [-Wimplicit-function-declaration]
#   441 |   ret = lpx_integer(lp);
#       |         ^~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_intopt':
# glpk_stubs.c:451:3: error: unknown type name 'LPX'
#   451 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:451:13: note: in expansion of macro 'Lpx_val'
#   451 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:451:13: note: in expansion of macro 'Lpx_val'
#   451 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:455:9: warning: implicit declaration of function 'lpx_intopt'; did you mean 'glp_intopt'? [-Wimplicit-function-declaration]
#   455 |   ret = lpx_intopt(lp);
#       |         ^~~~~~~~~~
#       |         glp_intopt
# glpk_stubs.c: In function 'ocaml_glpk_warm_up':
# glpk_stubs.c:464:3: error: unknown type name 'LPX'
#   464 |   LPX *lp = Lpx_val(blp);
#       |   ^~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:464:13: note: in expansion of macro 'Lpx_val'
#   464 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:464:13: note: in expansion of macro 'Lpx_val'
#   464 |   LPX *lp = Lpx_val(blp);
#       |             ^~~~~~~
# glpk_stubs.c:465:18: warning: implicit declaration of function 'lpx_warm_up'; did you mean 'glp_warm_up'? [-Wimplicit-function-declaration]
#   465 |   raise_on_error(lpx_warm_up(lp));
#       |                  ^~~~~~~~~~~
#       |                  glp_warm_up
# glpk_stubs.c: In function 'ocaml_glpk_get_message_level':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:473:18: warning: implicit declaration of function 'lpx_get_int_parm' [-Wimplicit-function-declaration]
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |                  ^~~~~~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:496:31: error: 'LPX_K_MSGLEV' undeclared (first use in this function)
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       |                               ^~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_message_level':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:478:3: warning: implicit declaration of function 'lpx_set_int_parm' [-Wimplicit-function-declaration]
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |   ^~~~~~~~~~~~~~~~
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:496:31: error: 'LPX_K_MSGLEV' undeclared (first use in this function)
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       |                               ^~~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_scaling':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:497:25: error: 'LPX_K_SCALE' undeclared (first use in this function)
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       |                         ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_scaling':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:497:25: error: 'LPX_K_SCALE' undeclared (first use in this function)
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       |                         ^~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_use_dual_simplex':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:498:34: error: 'LPX_K_DUAL' undeclared (first use in this function); did you mean 'GLP_DUAL'?
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       |                                  ^~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_use_dual_simplex':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:498:34: error: 'LPX_K_DUAL' undeclared (first use in this function); did you mean 'GLP_DUAL'?
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       |                                  ^~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_pricing':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:499:25: error: 'LPX_K_PRICE' undeclared (first use in this function)
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       |                         ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_pricing':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:499:25: error: 'LPX_K_PRICE' undeclared (first use in this function)
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       |                         ^~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_relaxation':
# glpk_stubs.c:485:3: error: unknown type name 'LPX'
#   485 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:485:13: note: in expansion of macro 'Lpx_val'
#   485 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:485:13: note: in expansion of macro 'Lpx_val'
#   485 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:486:16: warning: implicit declaration of function 'lpx_get_real_parm' [-Wimplicit-function-declaration]
#   486 |   double ans = lpx_get_real_parm(lp, param); \
#       |                ^~~~~~~~~~~~~~~~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:500:29: error: 'LPX_K_RELAX' undeclared (first use in this function)
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       |                             ^~~~~~~~~~~
# glpk_stubs.c:486:38: note: in definition of macro 'BIND_REAL_PARAM'
#   486 |   double ans = lpx_get_real_parm(lp, param); \
#       |                                      ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_relaxation':
# glpk_stubs.c:491:3: error: unknown type name 'LPX'
#   491 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:491:13: note: in expansion of macro 'Lpx_val'
#   491 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:491:13: note: in expansion of macro 'Lpx_val'
#   491 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:492:3: warning: implicit declaration of function 'lpx_set_real_parm' [-Wimplicit-function-declaration]
#   492 |   lpx_set_real_parm(lp, param, Double_val(n)); \
#       |   ^~~~~~~~~~~~~~~~~
# glpk_stubs.c:500:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:500:29: error: 'LPX_K_RELAX' undeclared (first use in this function)
#   500 | BIND_REAL_PARAM(relaxation, LPX_K_RELAX);
#       |                             ^~~~~~~~~~~
# glpk_stubs.c:492:25: note: in definition of macro 'BIND_REAL_PARAM'
#   492 |   lpx_set_real_parm(lp, param, Double_val(n)); \
#       |                         ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_solution_rounding':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:505:35: error: 'LPX_K_ROUND' undeclared (first use in this function)
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       |                                   ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_solution_rounding':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:505:35: error: 'LPX_K_ROUND' undeclared (first use in this function)
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       |                                   ^~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_iteration_limit':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:506:33: error: 'LPX_K_ITLIM' undeclared (first use in this function)
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       |                                 ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_iteration_limit':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:506:33: error: 'LPX_K_ITLIM' undeclared (first use in this function)
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       |                                 ^~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_iteration_count':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:507:33: error: 'LPX_K_ITCNT' undeclared (first use in this function)
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       |                                 ^~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_iteration_count':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:507:33: error: 'LPX_K_ITCNT' undeclared (first use in this function)
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       |                                 ^~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_time_limit':
# glpk_stubs.c:485:3: error: unknown type name 'LPX'
#   485 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:508:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:485:13: note: in expansion of macro 'Lpx_val'
#   485 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:508:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:485:13: note: in expansion of macro 'Lpx_val'
#   485 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:508:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:508:29: error: 'LPX_K_TMLIM' undeclared (first use in this function)
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       |                             ^~~~~~~~~~~
# glpk_stubs.c:486:38: note: in definition of macro 'BIND_REAL_PARAM'
#   486 |   double ans = lpx_get_real_parm(lp, param); \
#       |                                      ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_time_limit':
# glpk_stubs.c:491:3: error: unknown type name 'LPX'
#   491 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:508:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:491:13: note: in expansion of macro 'Lpx_val'
#   491 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:508:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:491:13: note: in expansion of macro 'Lpx_val'
#   491 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:508:1: note: in expansion of macro 'BIND_REAL_PARAM'
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       | ^~~~~~~~~~~~~~~
# glpk_stubs.c:508:29: error: 'LPX_K_TMLIM' undeclared (first use in this function)
#   508 | BIND_REAL_PARAM(time_limit, LPX_K_TMLIM);
#       |                             ^~~~~~~~~~~
# glpk_stubs.c:492:25: note: in definition of macro 'BIND_REAL_PARAM'
#   492 |   lpx_set_real_parm(lp, param, Double_val(n)); \
#       |                         ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_branching_heuristic':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:509:37: error: 'LPX_K_BRANCH' undeclared (first use in this function); did you mean 'GLP_IBRANCH'?
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       |                                     ^~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_branching_heuristic':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:509:37: error: 'LPX_K_BRANCH' undeclared (first use in this function); did you mean 'GLP_IBRANCH'?
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       |                                     ^~~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_backtracking_heuristic':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:510:40: error: 'LPX_K_BTRACK' undeclared (first use in this function)
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       |                                        ^~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_backtracking_heuristic':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:510:40: error: 'LPX_K_BTRACK' undeclared (first use in this function)
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       |                                        ^~~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_use_presolver':
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:472:13: note: in expansion of macro 'Lpx_val'
#   472 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:511:31: error: 'LPX_K_PRESOL' undeclared (first use in this function)
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       |                               ^~~~~~~~~~~~
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:79:47: note: in definition of macro 'Val_long'
#    79 | #define Val_long(x)     ((intnat) (((uintnat)(x) << 1)) + 1)
#       |                                               ^
# glpk_stubs.c:473:10: note: in expansion of macro 'Val_int'
#   473 |   return Val_int(lpx_get_int_parm(lp, param)); \
#       |          ^~~~~~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_set_use_presolver':
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |   ^~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:477:13: note: in expansion of macro 'Lpx_val'
#   477 |   LPX *lp = Lpx_val(blp); \
#       |             ^~~~~~~
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c:511:31: error: 'LPX_K_PRESOL' undeclared (first use in this function)
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       |                               ^~~~~~~~~~~~
# glpk_stubs.c:478:24: note: in definition of macro 'BIND_INT_PARAM'
#   478 |   lpx_set_int_parm(lp, param, Int_val(n)); \
#       |                        ^~~~~
# glpk_stubs.c: In function 'ocaml_glpk_read_cplex':
# glpk_stubs.c:515:3: error: unknown type name 'LPX'
#   515 |   LPX *lp = lpx_read_cpxlp(String_val(fname));
#       |   ^~~
# glpk_stubs.c:515:13: warning: implicit declaration of function 'lpx_read_cpxlp'; did you mean 'glp_read_lp'? [-Wimplicit-function-declaration]
#   515 |   LPX *lp = lpx_read_cpxlp(String_val(fname));
#       |             ^~~~~~~~~~~~~~
#       |             glp_read_lp
# glpk_stubs.c:515:13: warning: initialization of 'int *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
# glpk_stubs.c: In function 'ocaml_glpk_write_cplex':
# glpk_stubs.c:523:7: warning: implicit declaration of function 'lpx_write_cpxlp'; did you mean 'glp_write_lp'? [-Wimplicit-function-declaration]
#   523 |   if (lpx_write_cpxlp(Lpx_val(blp), String_val(fname)))
#       |       ^~~~~~~~~~~~~~~
#       |       glp_write_lp
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                        ^~~
# glpk_stubs.c:523:23: note: in expansion of macro 'Lpx_val'
#   523 |   if (lpx_write_cpxlp(Lpx_val(blp), String_val(fname)))
#       |                       ^~~~~~~
# glpk_stubs.c:82:29: error: expected expression before ')' token
#    82 | #define Lpx_val(v) (*((LPX**)Data_custom_val(v)))
#       |                             ^
# glpk_stubs.c:523:23: note: in expansion of macro 'Lpx_val'
#   523 |   if (lpx_write_cpxlp(Lpx_val(blp), String_val(fname)))
#       |                       ^~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_message_level':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:496:1: note: in expansion of macro 'BIND_INT_PARAM'
#   496 | BIND_INT_PARAM(message_level, LPX_K_MSGLEV);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_scaling':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:497:1: note: in expansion of macro 'BIND_INT_PARAM'
#   497 | BIND_INT_PARAM(scaling, LPX_K_SCALE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_use_dual_simplex':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:498:1: note: in expansion of macro 'BIND_INT_PARAM'
#   498 | BIND_INT_PARAM(use_dual_simplex, LPX_K_DUAL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_pricing':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:499:1: note: in expansion of macro 'BIND_INT_PARAM'
#   499 | BIND_INT_PARAM(pricing, LPX_K_PRICE);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_solution_rounding':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:505:1: note: in expansion of macro 'BIND_INT_PARAM'
#   505 | BIND_INT_PARAM(solution_rounding, LPX_K_ROUND);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_iteration_limit':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:506:1: note: in expansion of macro 'BIND_INT_PARAM'
#   506 | BIND_INT_PARAM(iteration_limit, LPX_K_ITLIM);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_iteration_count':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:507:1: note: in expansion of macro 'BIND_INT_PARAM'
#   507 | BIND_INT_PARAM(iteration_count, LPX_K_ITCNT);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_branching_heuristic':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:509:1: note: in expansion of macro 'BIND_INT_PARAM'
#   509 | BIND_INT_PARAM(branching_heuristic, LPX_K_BRANCH);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_backtracking_heuristic':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:510:1: note: in expansion of macro 'BIND_INT_PARAM'
#   510 | BIND_INT_PARAM(backtracking_heuristic, LPX_K_BTRACK);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: In function 'ocaml_glpk_get_use_presolver':
# glpk_stubs.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
#   474 | } \
#       | ^
# glpk_stubs.c:511:1: note: in expansion of macro 'BIND_INT_PARAM'
#   511 | BIND_INT_PARAM(use_presolver, LPX_K_PRESOL);
#       | ^~~~~~~~~~~~~~
# glpk_stubs.c: At top level:
# glpk_stubs.c:89:33: warning: 'lpx_ops' defined but not used [-Wunused-variable]
#    89 | static struct custom_operations lpx_ops =
#       |                                 ^~~~~~~
# make[2]: *** [OCamlMakefile:1013: glpk_stubs.o] Error 2
# make[2]: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/glpk.0.1.6/src'
# make[1]: *** [OCamlMakefile:716: byte-code-library] Error 2
# make[1]: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/glpk.0.1.6/src'
# make: *** [Makefile:13: byte] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build glpk 0.1.6
+- 
+- The following changes have been performed
| - install ocamlfind 1.9.8
+- 
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.4/.opam-switch/backup/state-20260302004302.export"
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall glpk.0.1.6;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'glpk.0.1.6' && partial_fails="$partial_fails $pkg";
        done;
        test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
        exit 1" failed with exit status 1
2026-03-02 00:43.21: Job failed: Failed: Build failed
2026-03-02 00:43.21: Log analysis:
2026-03-02 00:43.21: >>> 
[ERROR] The compilation of glpk.0.1.6 failed at "make byte opt".
 (score = 20)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:371:25: error: expected ';' before 'void'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:452:13: error: expected ';' before 'int'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:463:13: error: expected ';' before 'int'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/misc.h:475:13: error: expected ';' before 'int'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:116:13: error: expected ';' before 'int'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:188:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Hd_val'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:300:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Val_ptr'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/mlvalues.h:305:13: error: expected ';' before 'void'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:74:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_alloc_unboxed'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:75:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_alloc_boxed'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:80:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_field_unboxed'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/alloc.h:81:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_field_boxed'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/config.h:43:28: error: unknown type name 'inline'
 (score = 30)
2026-03-02 00:43.21: >>> 
# /home/opam/.opam/5.4/lib/ocaml/caml/fail.h:137:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'caml_get_value_or_raise'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:40:10: error: 'LPX_E_OK' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:43:10: error: 'LPX_E_FAULT' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:46:10: error: 'LPX_E_OBJLL' undeclared (first use in this function); did you mean 'GLP_EOBJLL'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:49:10: error: 'LPX_E_OBJUL' undeclared (first use in this function); did you mean 'GLP_EOBJUL'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:52:10: error: 'LPX_E_NOPFS' undeclared (first use in this function); did you mean 'GLP_ENOPFS'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:55:10: error: 'LPX_E_NODFS' undeclared (first use in this function); did you mean 'GLP_ENODFS'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:58:10: error: 'LPX_E_ITLIM' undeclared (first use in this function); did you mean 'GLP_EITLIM'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:61:10: error: 'LPX_E_TMLIM' undeclared (first use in this function); did you mean 'GLP_ETMLIM'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:64:10: error: 'LPX_E_SING' undeclared (first use in this function); did you mean 'GLP_ESING'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:67:10: error: 'LPX_E_EMPTY' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:70:10: error: 'LPX_E_BADB' undeclared (first use in this function); did you mean 'GLP_EBADB'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:73:10: error: 'LPX_E_NOCONV' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:99:22: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:108:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:114:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:122:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:128:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:136:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:140:33: error: 'LPX_MIN' undeclared here (not in a function); did you mean 'GLP_MIN'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:140:42: error: 'LPX_MAX' undeclared here (not in a function); did you mean 'GLP_MAX'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:144:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:151:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:167:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:174:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:182:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:186:34: error: 'LPX_FR' undeclared here (not in a function); did you mean 'GLP_FR'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:186:42: error: 'LPX_LO' undeclared here (not in a function); did you mean 'GLP_LO'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:186:50: error: 'LPX_UP' undeclared here (not in a function); did you mean 'GLP_UP'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:186:58: error: 'LPX_DB' undeclared here (not in a function); did you mean 'GLP_DB'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:186:66: error: 'LPX_FX' undeclared here (not in a function); did you mean 'GLP_FX'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:190:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:197:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:204:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:212:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:218:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:225:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:232:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:276:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:306:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:319:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:321:28: error: 'LPX_MIP' undeclared (first use in this function); did you mean 'GLP_MIP'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:330:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:333:28: error: 'LPX_MIP' undeclared (first use in this function); did you mean 'GLP_MIP'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:342:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:348:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:354:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:360:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:366:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:373:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:389:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:400:29: error: 'LPX_LP' undeclared here (not in a function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:400:37: error: 'LPX_MIP' undeclared here (not in a function); did you mean 'GLP_MIP'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:404:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:411:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:425:28: error: 'LPX_CV' undeclared here (not in a function); did you mean 'GLP_CV'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:425:36: error: 'LPX_IV' undeclared here (not in a function); did you mean 'GLP_IV'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:429:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:437:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:451:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:464:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:496:31: error: 'LPX_K_MSGLEV' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:496:31: error: 'LPX_K_MSGLEV' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:497:25: error: 'LPX_K_SCALE' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:497:25: error: 'LPX_K_SCALE' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:498:34: error: 'LPX_K_DUAL' undeclared (first use in this function); did you mean 'GLP_DUAL'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:498:34: error: 'LPX_K_DUAL' undeclared (first use in this function); did you mean 'GLP_DUAL'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:499:25: error: 'LPX_K_PRICE' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:499:25: error: 'LPX_K_PRICE' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:485:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:500:29: error: 'LPX_K_RELAX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:491:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:500:29: error: 'LPX_K_RELAX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:505:35: error: 'LPX_K_ROUND' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:505:35: error: 'LPX_K_ROUND' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:506:33: error: 'LPX_K_ITLIM' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:506:33: error: 'LPX_K_ITLIM' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:507:33: error: 'LPX_K_ITCNT' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:507:33: error: 'LPX_K_ITCNT' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:485:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:508:29: error: 'LPX_K_TMLIM' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:491:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:508:29: error: 'LPX_K_TMLIM' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:509:37: error: 'LPX_K_BRANCH' undeclared (first use in this function); did you mean 'GLP_IBRANCH'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:509:37: error: 'LPX_K_BRANCH' undeclared (first use in this function); did you mean 'GLP_IBRANCH'?
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:510:40: error: 'LPX_K_BTRACK' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:510:40: error: 'LPX_K_BTRACK' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:472:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:511:31: error: 'LPX_K_PRESOL' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:477:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:511:31: error: 'LPX_K_PRESOL' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:515:3: error: unknown type name 'LPX'
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:24: error: 'LPX' undeclared (first use in this function)
 (score = 30)
2026-03-02 00:43.21: >>> 
# glpk_stubs.c:82:29: error: expected expression before ')' token
 (score = 30)
2026-03-02 00:43.21: expected ';' before 'void'