You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using haskell-language-server to check a Haskell module in my project which transitively depends on both crypton and cryptonite, I received the following error. (This detail is shown when -d (debug) flag is turned on in haskell-language-server). Howerver, the project works fine with both cabal build and cabal repl.
By looking at the source code of crypton, I noticed that in cbits/blake2/sse/blake2s.c file, there is a non-static function named blake2s. This is a possible cause of symbol conflicts.
GHC runtime linker: fatal error: I found a duplicate definition for symbol
blake2s
whilst processing object file
/nix/store/pjy8nwfnn2cpzfbwlzc5ib7vj05w92pl-crypton-lib-crypton-0.32/lib/x86_64-linux-ghc-9.4.5/crypton-0.32-EGpwvAbNtQg1OZ3fW00GIA/HScrypton-0.32-EGpwvAbNtQg1OZ3fW00GIA.o
The symbol was previously defined in
/nix/store/jn06hq2n07xwd2zalfjmnc8cwri3xxxf-cryptonite-lib-cryptonite-0.30/lib/x86_64-linux-ghc-9.4.5/cryptonite-0.30-5urQnFo6cSD563Pl2BMv1A/HScryptonite-0.30-5urQnFo6cSD563Pl2BMv1A.o
This could be caused by:
* Loading two different object files which export the same symbol
* Specifying the same object file twice on the GHCi command line
* An incorrect `package.conf' entry, causing some object to be
loaded twice.
Suggested fix: rename all non-static C symbols in crypton to be prefixed with crypton_.
The text was updated successfully, but these errors were encountered:
When using
haskell-language-server
to check a Haskell module in my project which transitively depends on bothcrypton
andcryptonite
, I received the following error. (This detail is shown when-d
(debug) flag is turned on inhaskell-language-server
). Howerver, the project works fine with bothcabal build
andcabal repl
.By looking at the source code of
crypton
, I noticed that incbits/blake2/sse/blake2s.c
file, there is a non-static function namedblake2s
. This is a possible cause of symbol conflicts.Suggested fix: rename all non-static C symbols in
crypton
to be prefixed withcrypton_
.The text was updated successfully, but these errors were encountered: