Рассмотрим следующий простой код:
import Crypto.Hash.SHA1 (hashlazy)
import qualified Data.ByteString as BS
main = return ()
Я установил cabal install --global bytestring
, а затем получил (на недавно установленной машине Ubuntu 12.04 с использованием ghc 7.4.1):
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
fps_minimum
whilst processing object file
/usr/local/lib/bytestring-0.10.0.1/ghc-7.4.1/HSbytestring-0.10.0.1.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.
GHCi cannot safely continue in this situation. Exiting now. Sorry.
Что я могу с этим сделать?
bytestring
был созданcryptohash
? - person Daniel Fischer   schedule 06.11.2012cryptohash 0.7.6
был построен с использованиемghc 7.6
(я использую7.4
). Может ли это быть проблемой? - person Cartesius00   schedule 07.11.2012ghc-pkg describe cryptohash
будет перечислять что-то вродеbytestring-0.10.0.0-b8146809d010d5e46cdb979e5b99953f
в поле зависимостей. Если это не та же версияbytestring
, что иimport qualified Data.ByteString as BS
, у вас есть ошибка повторяющегося символа. - person Daniel Fischer   schedule 07.11.2012bytestring-0.9.2.1-18f26186028d7c0e92e78edc9071d376
но у меня установленоbytestring-0.10.0.1
, так что проблема в этом, верно? - person Cartesius00   schedule 07.11.2012bytestring
или указать ghc(i) использовать старый всякий раз, когда вы используете криптохеш. - Обратите внимание, что вам может понадобиться пересобрать и другие пакеты. - person Daniel Fischer   schedule 07.11.2012