Description of problem: Example of failed build: https://koji.fedoraproject.org/koji/taskinfo?taskID=43501341 Version-Release number of selected component (if applicable): ocaml-topkg-1.0.1-6.fc33 How reproducible: 100% Steps to Reproduce: 1. Try to build it in Rawhide against the ocaml-4.11 package. Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.WBOWeW + umask 022 + cd /builddir/build/BUILD + cd topkg-1.0.1 + ocaml pkg/pkg.ml build --pkg-name topkg --tests true File "src/topkg_log.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_fpath.ml", line 10, characters 2-24: 10 | Topkg_string.is_prefix Filename.dir_sep s || ^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound module Topkg_string File "src/topkg_os.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_vcs.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_codec.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_conf.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_fexts.ml", line 22, characters 16-40: 22 | let ext_obj = Topkg_conf.OCaml.ext_obj c in ^^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound module Topkg_conf File "src/topkg_opam.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_test.ml", line 8, characters 11-24: 8 | { exec : Topkg_fpath.t; ^^^^^^^^^^^^^ Error: Unbound module Topkg_fpath File "src/topkg_install.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_build.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_distrib.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_publish.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_pkg.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_ipc.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg_main.ml", line 7, characters 5-17: 7 | open Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "src/topkg.ml", line 9, characters 8-20: 9 | include Topkg_result ^^^^^^^^^^^^ Error: Unbound module Topkg_result File "./pkg/pkg.ml", line 29, characters 5-10: 29 | open Topkg ^^^^^ Error: Unbound module Topkg
This blocks quite a few other packages, at least: "ocaml-astring", "ocaml-uutf", "ocaml-fmt", "ocaml-uuidm", and anything else that needs one of these.
As noted on fedora-devel-list, #mod_use has changed behavior. With ocaml 4.10.0 and before, the module name was set based on the filename. With ocaml 4.11.0, it is not.
Link to the fedora devel list message explaining what happened: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/NEOBFOY2RIBSKEZMLC7AXA463KPWLDBE/
I cannot see anything in the git log to indicate that this change is intentional, so I filed an upstream bug: https://github.com/ocaml/ocaml/issues/9474
Fix for this is: https://github.com/ocaml/ocaml/pull/9457 I can pull this (plus the other fixes) in our OCaml branch tomorrow and have another go at the rebuild.
Sounds good. Both ocaml-dune and ocaml-bisect-ppx had bug fix releases in the last 24 hours, so I've pushed the necessary updates into git without building, so they can be picked up by your builds.
Will be fixed by ocaml-4.11.0-0.3.pre.fc33, now building.