opam-repository
opam-repository copied to clipboard
[lower bounds] issue with tsdl and ctypes-foreign
Error:
#=== ERROR while compiling bogue.20210917 =====================================#
# context 2.1.0 | linux/x86_64 | ocaml-base-compiler.4.10.2 | pinned(https://github.com/sanette/bogue/archive/refs/tags/20210917.tar.gz)
# path ~/.opam/4.10/.opam-switch/build/bogue.20210917
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p bogue -j 31 @install
# exit-code 1
# env-file ~/.opam/log/bogue-4598-af8b9f.env
# output-file ~/.opam/log/bogue-4598-af8b9f.out
### output ###
# ocamlopt examples/example.exe (exit 2)
# (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -o examples/example.exe /home/opam/.opam/4.10/lib/ocaml/str.cmxa -I /home/opam/.opam/4.10/lib/ocaml /home/opam/.opam/4.10/lib/ocaml/unix.cmxa -I /home/opam/.opam/4.10/lib/ocaml /home/opam/.opam/4.10/lib/ocaml/bigarray.cmxa -I /home/opam/.opam/4.10/lib/ocaml /home/opam/.opam/4.10/lib/ctypes/ctypes.cmxa -I /home/opam/.opam/4.10/lib/ctypes /home/opam/.opam/4.10/lib/ocaml/threads/threads.cmxa -I /home/opam/.opam/4.10/lib/ocaml /home/opam/.opam/4.10/lib/ctypes/ctypes-foreign-base.cmxa -I /home/opam/.opam/4.10/lib/ctypes /home/opam/.opam/4.10/lib/ctypes/ctypes-foreign-threaded.cmxa -I /home/opam/.opam/4.10/lib/ctypes -I /home/opam/.opam/4.10/lib/ctypes /home/opam/.opam/4.10/lib/tsdl/tsdl.cmxa -I /home/opam/.opam/4.10/lib/tsdl /home/opam/.opam/4.10/lib/tsdl-image/tsdl_image.cmxa /home/opam/.opam/4.10/lib/tsdl-ttf/tsdl_ttf.cmxa lib/bogue.cmxa examples/.example.eobjs/native/dune__exe__Example.cmx)
# File "_none_", line 1:
# Error: Files /home/opam/.opam/4.10/lib/tsdl/tsdl.cmxa
# and /home/opam/.opam/4.10/lib/ctypes/ctypes-foreign-threaded.cmxa
# make inconsistent assumptions over interface Foreign
Logs are here: https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/9da9e06d732d1d7c3f00d272989a65dbac02d91e/variant/opam-2.1,compilers,4.10,bogue.20210917,lower-bounds
The following actions will be performed:
- remove integers 0.5.1 [conflicts with dune]
- install conf-m4 1 [required by ocamlfind]
- downgrade ctypes-foreign 0.18.0 to 0.4.0
- downgrade conf-pkg-config 2 to 1.0
- remove opam-depext 1.1.5
- install result 1.0 [required by topkg]
- remove bigarray-compat 1.0.0 [conflicts with dune]
- downgrade ocamlfind 1.9.1 to 1.8.1
- downgrade dune 2.9.1 to 2.7.0
- install base-bytes base [required by ctypes]
- downgrade topkg 1.0.3 to 0.7.5 [uses ocamlfind]
- downgrade ctypes 0.19.1 to 0.9.0 [uses ctypes-foreign, conf-pkg-config, ocamlfind]
- downgrade tsdl 0.9.8 to 0.9.7 [uses ctypes-foreign, ocamlfind]
- recompile tsdl-ttf 0.3 [uses ctypes-foreign, dune]
- recompile tsdl-image 0.3.0 [uses ctypes-foreign, dune]
===== 3 to install | 2 to recompile | 7 to downgrade | 3 to remove =====
Seen again on https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/11ac879285f34f55202a2f759efd716bff65769a
The tsdl
package installs fine with the lower-bound version detailed here. What fails is downgrading tsdl
and ctypes
and ctypes-foreign
simultaneously.
This may be due (:confused:) to the ctypes-foreign
package having a post
dependency to ctypes
causing some unexpected scheduling decision on the opam side.
I think this is not a big issue: it's an unlikely scenario and it can easily be solved by downgrading things one after the other or restarting the install from scratch with version from the beginning.