Я использую Ubuntu 14.10 с GHC 7.6.3 и заговорщиками, установленных с помощью пакета установщика Ubuntu, и пытаюсь использовать структуру Heap данных, которые я наивно установленный с помощью:Кабалы: восстановить пакет, чтобы использовать новые библиотеки
cabal install heap
Как только я начал импортировать библиотеку в мой код, я получил следующее сообщение об ошибке, связывающих:
...
Loading package primitive-0.5.0.1 ... linking ... done.
...
Loading package heap-1.0.0 ... linking ... done.
...
Loading package primitive-0.5.2.1 ... linking ... done
...
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
hsprimitive_memset_Word32
whilst processing object file
/home/simon/.cabal/lib/primitive-0.5.2.1/ghc-7.6.3/HSprimitive-0.5.2.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.
This answer умозрительно объясняет, что делать, но инструкции не являются достаточно специфичными для меня, чтобы следовать.
Как получить кучу, чтобы использовать примитив-0.5.2.1 (я предполагаю, что эта легко используемая библиотека является той, что устарела), или я должен делать что-то совершенно другое?
Я предполагаю, что вы не используют 'cabal' для создания вашего кода. Использование 'cabal' и возможности его песочницы - лучший способ избежать этой проблемы. – ErikR
Я просто набрал 'cabal install heap' и попал в эту ошибку. –