Closed ttamttam closed 4 years ago
Hi,
So, checkseum
uses variants/linking-trick to be able to provide a C implementation and an OCaml implementation (as digestif
). By this way, the virtual package checkseum
does not have a proper implementation as expected and just provide an interface - and it's why you are able to see Checkseum
in utop
.
To be able to fully use checkseum
with utop
, you need to specify which implementation you want, so you need to write:
$ utop -require checkseum.c
or
$ utop -require checkseum.ocaml
Note that if you are into a dune
environment and you write a library or an executable, dune
will be able (with checkseum.1.0.0
at least) to choose the default implementation checkseum.c
. So, dune utop
in your library workspace or dune build
in your executable workspace will silently links with checkseum.c
. If you want to use checkseum.ocaml
(for example if you want to use js_of_ocaml
), you can explicitly specify checkseum.ocaml
as a dependence of your executable (note that you are not able to explicitly choose the implementation for a library).
So for any others libraries like git-unix
, you have the same problem where you need to choose which implementation you want at first (like utop -require checkseum.c,digestif
). But, again, if you want to make a project with git-unix
and dune
as your build-system, you should not find any trouble :+1:.
I hope, this response is clear for you. I know that this kind of design is not very easy to understand but for many purpose (like irmin
with Javascript), it serves many use-cases. And as a MirageOS project, we mostly want to be platform agnostic.
I updated the README.md
, so I close the issue where documentation about thiat can be found :+1:.
I updated the
README.md
, so I close the issue where documentation about thiat can be found +1.
Merci ! En plus, je n’ai même pas eu le temps de proposer un PR pour adapter le README !
Hello,
while trying to use
git-unix
fromutop
, I'm obtaining: Error: Reference to undefined global `Checkseum'I then tried directly with
Checkseum
, and obtained the same message. Unfortunately, I'm not sure what to check now? Do you have any idea?Here are some more informations: