Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1987488 - freetennis: FTBFS in Fedora rawhide/f35
Summary: freetennis: FTBFS in Fedora rawhide/f35
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: freetennis
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Hans de Goede
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F35FTBFS
TreeView+ depends on / blocked
 
Reported: 2021-07-29 15:00 UTC by Fedora Release Engineering
Modified: 2021-08-02 12:24 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-08-02 12:24:29 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (deleted)
2021-07-29 15:00 UTC, Fedora Release Engineering
no flags Details
root.log (deleted)
2021-07-29 15:00 UTC, Fedora Release Engineering
no flags Details
state.log (deleted)
2021-07-29 15:00 UTC, Fedora Release Engineering
no flags Details
freetennis-0.4.8-ocaml-4.12.patch (deleted)
2021-07-31 07:33 UTC, Richard W.M. Jones
no flags Details | Diff

Description Fedora Release Engineering 2021-07-29 15:00:26 UTC
freetennis failed to build from source in Fedora rawhide/f35

https://koji.fedoraproject.org/koji/taskinfo?taskID=72347799


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Please fix freetennis at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
freetennis will be orphaned. Before branching of Fedora 36,
freetennis will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2021-07-29 15:00:32 UTC
Created attachment 1807506 [details]
build.log

Comment 2 Fedora Release Engineering 2021-07-29 15:00:36 UTC
Created attachment 1807507 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2021-07-29 15:00:39 UTC
Created attachment 1807508 [details]
state.log

Comment 4 Hans de Goede 2021-07-30 22:30:56 UTC
This is caused by an ocaml compile error:

File "freetennis.ml", lines 767-770, characters 26-8:
767 | ..........................struct
768 | 			      type t = int
769 | 			      let compare = compare
770 | 			  end..
Error: Signature mismatch:
       Modules do not match:
         sig
           type t = int
           val compare : ('a -> 'a -> int) -> 'a list -> 'a list -> int
         end
       is not included in
         Map.OrderedType
       Values do not match:
         val compare : ('a -> 'a -> int) -> 'a list -> 'a list -> int
       is not included in
         val compare : t -> t -> int
       File "map.mli", line 54, characters 4-31: Expected declaration
       File "freetennis.ml", line 769, characters 13-20: Actual declaration

Fixing this goes beyond my non-existent ocaml knowledge, so I hope that one of the 2 people in the Cc of this bug can help fix this.

Comment 5 Richard W.M. Jones 2021-07-31 07:33:23 UTC
Created attachment 1809604 [details]
freetennis-0.4.8-ocaml-4.12.patch

This patch fixes the bug.

The problem is that the code opens the List module at the top, importing
every symbol from List into the namespace.  This is generally bad practice.
Recently List.compare was added to OCaml, which shadows the normal
compare function, and this causes the error you saw.

We could explicitly change every call to compare to Stdlib.compare, but
I felt it was better and a small patch to only import the List symbols
which are actually used.

Comment 6 Richard W.M. Jones 2021-07-31 07:36:35 UTC
Change to OCaml: https://github.com/ocaml/ocaml/pull/9668

Comment 7 Richard W.M. Jones 2021-07-31 07:39:06 UTC
BTW this could also be written like this, although that would
make the code depend on a very new OCaml only:

let length, hd, append, mem, filter = List.(length, hd, append, mem, filter)

Comment 8 Fedora Release Engineering 2021-08-01 04:26:32 UTC
Dear Maintainer,

your package has an open Fails To Build From Source bug for Fedora 35.
Action is required from you.

If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close this bug without creating an update, if updating is
not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to
acknowledge this. If you have already fixed this issue, please close this Bugzilla report.

Following the policy for such packages [2], your package will be orphaned if
this bug remains in NEW state more than 8 weeks (not sooner than 2021-09-23).

A week before the mass branching of Fedora 36 according to the schedule [3],
any packages not successfully rebuilt at least on Fedora 34 will be
retired regardless of the status of this bug.

[1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/
[2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
[3] https://fedorapeople.org/groups/schedule/f-36/f-36-key-tasks.html

Comment 9 Hans de Goede 2021-08-01 09:19:52 UTC
Richard, thank you for the patch.

I'll prepare a new fixed package with the patch soon.

Comment 10 Hans de Goede 2021-08-02 12:24:29 UTC
Fixed and build for rawhide, closing.


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