Bug 1538300

Summary: jbuilder beta17 doesn't build on pcc64 on Rawhide
Product: [Fedora] Fedora Reporter: Ben Rosser <rosser.bjr>
Component: jbuilderAssignee: Ben Rosser <rosser.bjr>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: rjones, rosser.bjr
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: 2018-01-30 16:13:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 1071880    

Description Ben Rosser 2018-01-24 18:25:52 UTC
I updated jbuilder to beta17, the latest release, on Rawhide. Unfortunately the build failed just on ppc64:

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

The error message was not entirely helpful.

> '/usr/bin/ocamlopt.opt' -w -40 -o boot.exe unix.cmxa boot.ml
> make: *** [Makefile:13: boot.exe] Error 255

For now, I have ExcludeArch'd ppc64 and rebuilt jbuilder. Unfortunately this will probably affect a bunch of OCaml packages if not fixed (certainly, opam and its dependencies). I'll file an upstream bug.

Comment 1 Ben Rosser 2018-01-24 18:31:39 UTC
I have filed an upstream ticket. https://github.com/ocaml/dune/issues/446

Comment 2 Ben Rosser 2018-01-26 16:30:08 UTC
Forgot to block the PPC tracker bug.

Comment 3 Ben Rosser 2018-01-30 16:03:31 UTC
Per the upstream discussion it seems that the issue is resolved by doing the bootstrap part of the build with ocamlc rather than ocamlopt. (This also speeds up the build). This has been committed upstream here:

https://github.com/ocaml/dune/pull/463

I have pulled this patch into master and am rebuilding on Rawhide.

Comment 4 Ben Rosser 2018-01-30 16:13:56 UTC
Fixed in jbuilder-1.0-0.7.beta17.fc28.

Comment 5 Richard W.M. Jones 2018-01-30 17:00:01 UTC
(In reply to Ben Rosser from comment #3)
> Per the upstream discussion it seems that the issue is resolved by doing the
> bootstrap part of the build with ocamlc rather than ocamlopt. (This also
> speeds up the build). This has been committed upstream here:
> 
> https://github.com/ocaml/dune/pull/463
> 
> I have pulled this patch into master and am rebuilding on Rawhide.

But you're still building a native binary in the end?

Comment 6 Ben Rosser 2018-01-30 18:02:27 UTC
Yes. The jbuilder build process builds a strippped down version of jbuilder to compile itself; it's that first bootstrap step that was failing (and has now been made a bytecode binary).

(rpm seems to confirm this; looking at the most recent build https://koji.fedoraproject.org/koji/rpminfo?rpmID=12638067 the only dependencies are basic system libraries as expected).