[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.
From: |
pukkamustard |
Subject: |
[bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto. |
Date: |
Mon, 23 Aug 2021 16:52:42 +0000 |
pukkamustard <pukkamustard@posteo.net> writes:
Julien Lepiller <julien@lepiller.eu> writes:
Trying to build ocaml-mirage-crypto, I get errors during the
tests:
ocamlopt tests/test_symmetric_runner.exe (exit 2)
Error: Files
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
and
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
make inconsistent assumptions over implementation Eqaf
this seems to indicate Eqaf did not build properly? Does it
build for
you?
Negative. Can confirm that ocaml-mirage-crypto does not build
when rebased on
master. I will investigate.
This seems to be related to the recently added dune profile
parameter (https://issues.guix.gnu.org/49868).
The installed eqaf.cmxa seems to be the one built by using the
"dev" profile, whereas eqaf_bigstring.cmxa is expecting the Eqaf
module built with the "release" profile:
```
$ ocamlobjinfo
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
[..]
Implementations imported:
193f160ab58c2c455f4e1fe1425b8971 Eqaf
[..]
$ ocamlobjinfo
/gnu/store/id3dchcsw5gijsnn73kw5sn9ymjj90ai-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
[..]
CRC of implementation: f693310ffd4f92f54cd1fde8271782b8
[..]
```
With (arguments `(#:profile "dev")):
```
$ ocamlobjinfo
/gnu/store/v2s1h1is0ci2ij2h8k5fbna3j8ycrw9y-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
[..]
Implementations imported:
[..]
-------------------------------- Eqaf
$ ocamlobjinfo
/gnu/store/v2s1h1is0ci2ij2h8k5fbna3j8ycrw9y-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
[..]
CRC of implementation: f693310ffd4f92f54cd1fde8271782b8
[..]
```
When using the "dev" profile the ocaml-eqaf and
ocaml-mirage-crypto build and pass the checks.
(I assume that the missing CRC in eqaf_bigstring.cmxa means it
does not check the CRC of the Eqaf implementation.)
If I set (arguments `(#:package "eqaf")), then also everything
builds fine and the hashes seem to be right:
```
$ ocamlobjinfo
/gnu/store/cyw1n07cqdh25w5awww185s44yzbcyss-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/bigstring/eqaf_bigstring.cmxa
Implementations imported:
193f160ab58c2c455f4e1fe1425b8971 Eqaf
$ ocamlobjinfo
/gnu/store/cyw1n07cqdh25w5awww185s44yzbcyss-ocaml-eqaf-0.7/lib/ocaml/site-lib/eqaf/eqaf.cmxa
CRC of implementation: 193f160ab58c2c455f4e1fe1425b8971
```
This seems weird. I don't understand why dune installs the
eqaf.cmxa built with "dev" profile but eqaf_bigstring.cmxa with
"release" profile. Maybe this is a bug in dune?
It does seem that using the dune "--profile" options on its own is
not very common. Opam uses the dune "-p" option. This sets the
profile to "release" and does a couple of other things
(https://dune.readthedocs.io/en/stable/opam.html?highlight=build%20profile#invocation-from-opam).
I don't think many people use the "--profile" option on its own.
For our dune-build-system I think it makes more sense to always
use the "-p" flag. This requires adding the explicit OCaml
package(s) to many specifications in Guix. I also think the
"profile" parameter should be removed as the interactions with the
"package" parameter (dune "-p") are not as expected. Sorry for not
doing this research before submitting the patch that added the
"profile" parameter.
Thoughts?
-pukkamustard
- [bug#49867] [PATCH 02/31] gnu: Add ocaml-domain-name., (continued)
- [bug#49867] [PATCH 02/31] gnu: Add ocaml-domain-name., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 01/31] gnu: Add ocaml-cohttp-lwt., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 03/31] gnu: Add ocaml-macaddr., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 05/31] gnu: Add ocaml-ipaddr-cstruct., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 04/31] gnu: Add ocaml-ipaddr., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 02/31] gnu: Add ocaml-domain-name., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 06/31] gnu: Add ocaml-ipaddr-sexp., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto., Julien Lepiller, 2021/08/21
- [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto., pukkamustard, 2021/08/23
- [bug#49867] [PATCH v2 13/31] gnu: Add ocaml-mirage-crypto.,
pukkamustard <=
- [bug#49867] [PATCH v2 07/31] gnu: Add ocaml-conduit., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 08/31] gnu: Add ocaml-conduit-lwt., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 14/31] gnu: Add ocaml-duration., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 09/31] gnu: Add ocaml-afl-persistent., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 17/31] gnu: Add ocaml-mirage-crypto-pk., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 12/31] gnu: Add ocaml-eqaf., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 10/31] gnu: Add ocaml-pprint., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 18/31] gnu: Add ocaml-ptime., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 15/31] gnu: Add ocaml-randomconv., pukkamustard, 2021/08/09
- [bug#49867] [PATCH v2 11/31] gnu: Add ocaml-crowbar., pukkamustard, 2021/08/09