Symbol clashes building libraries depending on digestif
g2p opened this issue · comments
Gabriel de Perthuis commented
I get the following error building mirage/ocaml-git/master with mirage/digestif/master installed:
#=== ERROR while compiling git-unix.dev =======================================#
# context 2.0.0 | linux/x86_64 | ocaml-variants.4.07.1+fp+flambda | pinned(file:///home/g2p/src/storage-unikernel/vendor/ocaml-git)
# path ~/.opam/4.07.1+fp+flambda/.opam-switch/build/git-unix.dev
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p git-unix -j 3
# exit-code 1
# env-file ~/.opam/log/git-unix-19321-d0f245.env
# output-file ~/.opam/log/git-unix-19321-d0f245.out
### output ###
# [...]
# /home/g2p/.opam/4.07.1+fp+flambda/lib/digestif/c/digestif_c.a(digestif_conv.o): In function `camlDigestif_conv__code_end':
# :(.text+0xb6d): multiple definition of `camlDigestif_conv__code_end'
# /home/g2p/.opam/4.07.1+fp+flambda/lib/digestif/digestif.a(digestif_conv.o)::(.text+0xb6d): first defined here
# /home/g2p/.opam/4.07.1+fp+flambda/lib/digestif/c/digestif_c.a(digestif_conv.o): In function `camlDigestif_conv__data_end':
# :(.data+0x478): multiple definition of `camlDigestif_conv__data_end'
# /home/g2p/.opam/4.07.1+fp+flambda/lib/digestif/digestif.a(digestif_conv.o)::(.data+0x478): first defined here
# /home/g2p/.opam/4.07.1+fp+flambda/lib/digestif/c/digestif_c.a(digestif_conv.o): In function `camlDigestif_conv__frametable':
# :(.data+0x480): multiple definition of `camlDigestif_conv__frametable'
# /home/g2p/.opam/4.07.1+fp+flambda/lib/digestif/digestif.a(digestif_conv.o)::(.data+0x480): first defined here
# collect2: error: ld returned 1 exit status
# File "caml_startup", line 1:
# Error: Error during linking
This line might be the culprit:
src-c/dune:(rule (copy# %{lib:digestif:digestif_conv.ml} digestif_conv.ml))
Here are the rest of the logs:
git-unix-19321-d0f245.out.txt
Calascibetta Romain commented
Close by #75