Как мне построить программу с профилированием, которая использует текстовую библиотеку? - PullRequest
1 голос
/ 31 декабря 2010

Я создаю программу, которая ссылается на библиотеку text .Когда я строю его без профилирования, все работает нормально:

ghc -O2 buildtrie.hs -package text -package hamt -o buildtrie -auto-all -package text -package hamt -fforce-recomp
<No output>

Когда я строю его с профилированием, я получаю следующую ошибку:

ghc -O2 buildtrie.hs -package text -package hamt -o buildtrie -auto-all -package text -package hamt -fforce-recomp -prof
ld: library not found for -lHStext-0.10.0.0_p
collect2: ld returned 1 exit status

Я установилпрофилирующая версия text-0.11.0.1 через cabal, но, похоже, не находит его.Я предполагаю, что text-0.10.0.0 был установлен с платформой Haskell.ghc-pkg list text дает мне следующее:

/usr/local/Cellar/ghc/6.12.3/lib/ghc/package.conf.d
/Users/jason/.ghc/i386-darwin-6.12.3/package.conf.d
   text-0.10.0.0
   text-0.11.0.1

Как мне скомпилировать эту программу, используя профилирующую версию text-0.11.0.1?

1 Ответ

3 голосов
/ 31 декабря 2010

Вероятно, случится так, что одна из других зависимостей, к которым вы подключаетесь, зависит от старой версии текста, поэтому она предпочтительнее.Трудно сказать наверняка, потому что вы, похоже, не используете Cabal.

Простой пробел - переустановить текст 0.10.0.0 локально с профилированием.

cabal install --reinstall text-0.10.0.0

(при условии, что вы правильно указали свою конфигурацию .cabal; в противном случае добавьте соответствующие флаги.)

...