Bug 1825451

Summary: ocaml-topkg fails to build with OCaml 4.11 prerelease
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: ocaml-topkgAssignee: Jerry James <loganjerry>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dan.cermak, loganjerry
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-21 14:14:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard W.M. Jones 2020-04-18 07:35:55 UTC
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

Comment 1 Richard W.M. Jones 2020-04-18 09:15:49 UTC
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.

Comment 2 Jerry James 2020-04-19 03:09:46 UTC
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.

Comment 3 Richard W.M. Jones 2020-04-19 13:10:48 UTC
Link to the fedora devel list message explaining what happened:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/NEOBFOY2RIBSKEZMLC7AXA463KPWLDBE/

Comment 4 Richard W.M. Jones 2020-04-19 13:16:06 UTC
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

Comment 5 Richard W.M. Jones 2020-04-19 17:01:59 UTC
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.

Comment 6 Jerry James 2020-04-20 04:04:51 UTC
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.

Comment 7 Richard W.M. Jones 2020-04-21 14:14:46 UTC
Will be fixed by ocaml-4.11.0-0.3.pre.fc33, now building.