GNU bug report logs - #46806
[PATCH] gnu: ocaml-4.07: Bootstrap.

Previous Next

Package: guix-patches;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Fri, 26 Feb 2021 23:15:01 UTC

Severity: normal

Tags: patch

Done: Julien Lepiller <julien <at> lepiller.eu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: pukkamustard <pukkamustard <at> posteo.net>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 46806 <at> debbugs.gnu.org
Subject: [bug#46806] [PATCH] gnu: ocaml-4.07: Bootstrap.
Date: Mon, 01 Mar 2021 13:04:11 +0100
> Thanks! OK to push?

Ok for me!

> Le 1 mars 2021 04:16:14 GMT-05:00, pukkamustard 
> <pukkamustard <at> posteo.net> a écrit :
>>
>>I managed to build camlboot and ocaml <at> 4.07 with your patches.
>>
>>> Would be fantastic if you could report build time for camlboot
>>> too :).
>>
>>Build time (on a quad-core i7 laptop):
>>
>>```
>>$ time ./pre-inst-env guix build camlboot --no-offload
>>.
>>.
>>.
>>successfully built
>>/gnu/store/ddi5n28hsrgvb89r8vjs0rfvapxfbaj2-camlboot-0.0.0-0.506280c.drv
>>/gnu/store/79bqayhrc6qfr2k7pfk7fn6lim0f8cfx-camlboot-0.0.0-0.506280c
>>
>>real	322m35.119s
>>user	0m1.523s
>>sys	0m0.140s
>>```
>>
>>ocaml <at> 4.07 with your patches applied:
>>
>>```
>>$ time ./pre-inst-env guix build ocaml <at> 4.07 --no-offload
>>successfully built
>>/gnu/store/sdxybpxzjhib5ijn3fx3r29ycp5vvafd-ocaml-4.07.1.drv
>>/gnu/store/cniid9xi3dck7kdpfm77h56h1s0701fm-ocaml-4.07.1
>>
>>real	17m52.923s
>>user	0m9.268s
>>sys	0m1.013s
>>```
>>
>>ocaml <at> 4.07 at master:
>>
>>```
>>$ time ./pre-inst-env guix build ocaml <at> 4.07 --no-offload --check
>>successfully built
>>/gnu/store/v599h0bhpyh2rq4nrnqqf56lwbsf0f71-ocaml-4.07.1.drv
>>successfully built
>>/gnu/store/v599h0bhpyh2rq4nrnqqf56lwbsf0f71-ocaml-4.07.1.drv
>>/gnu/store/s7j0vl88zakkdcyvw1jw8cypfzi6ljnd-ocaml-4.07.1
>>
>>real	21m44.000s
>>user	0m14.546s
>>sys	0m1.217s
>>```
>>
>>> The result should be almost identical to our current 
>>> ocaml-4.07,
>>> though there are some due to different output directory being
>>> embedded.
>>
>>Checked some random files in both ocaml's with diffoscope and 
>>can
>>confirm that differences seem to be mostly different output
>>directories.
>>
>>Haven't run diffoscope on everything as that would take quite 
>>some
>>time...
>>
>>-pukkamustard
>>
>>
>>>>
>>>>Fantastic! Thank you and thanks to the camlboot project! I 
>>>>will
>>>>try and
>>>>build this tonight.
>>>>
>>>>Julien Lepiller <julien <at> lepiller.eu> writes:
>>>>
>>>>> Hi Guix!
>>>>>
>>>>> This small series adds camlboot, a project to reimplement a
>>>>> bootstrap
>>>>> for OCaml, which lets us remove the pre-built
>>>>> boot/ocaml{c,lex}
>>>>> :)
>>>>>
>>>>> The first patch builds the bootstraped ocamlc and ocamllex.
>>>>> This
>>>>> takes
>>>>> around 4 hours to build. The second patch rebuilds them 
>>>>> using
>>>>> the source
>>>>> code for ocaml 4.07.1, instead of the modified sources used 
>>>>> in
>>>>> camlboot, and reuse them to run the main Makefile (make
>>>>> world.opt).
>>>>>
>>>>> As a result, we have identical files for this bootstrap and
>>>>> the
>>>>> unbootstrapped OCaml (up to output store paths and hash of
>>>>> some
>>>>> files
>>>>> that get embedded in native files, which differ because of 
>>>>> the
>>>>> different output path).





This bug report was last modified 4 years and 74 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.