opam-repository icon indicating copy to clipboard operation
opam-repository copied to clipboard

[lower bounds] issue with tsdl and ctypes-foreign

Open mseri opened this issue 3 years ago • 1 comments

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 =====

mseri avatar Oct 06 '21 14:10 mseri

Seen again on https://opam.ci.ocaml.org/github/ocaml/opam-repository/commit/11ac879285f34f55202a2f759efd716bff65769a

mseri avatar Oct 07 '21 12:10 mseri

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.

raphael-proust avatar Jan 12 '23 13:01 raphael-proust