Bug 1825451 - ocaml-topkg fails to build with OCaml 4.11 prerelease
Summary: ocaml-topkg fails to build with OCaml 4.11 prerelease
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: ocaml-topkg
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-04-18 07:35 UTC by Richard W.M. Jones
Modified: 2020-04-21 14:14 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-04-21 14:14:46 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github ocaml ocaml issues 9455 0 None open 4.11.0~dev breaks use of topfind 2020-04-19 17:00:50 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.