2010-12-30 4 views
1

Ich baue ein Programm, das auf die Bibliothek text verweist. Wenn ich es ohne Profilierung bauen, funktioniert alles einwandfrei:Wie erstelle ich ein Programm mit Profilerstellung, das die Textbibliothek verwendet?

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

Als ich es mit Profilierung bauen, bekomme ich folgende Fehlermeldung:

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 

Ich installierte eine Profilierungs Version von Text-0.11. 0.1 durch Kabale, aber es scheint nicht zu finden. Ich vermute, dass text-0.10.0.0 mit Haskell Platform installiert wurde. Ein ghc-pkg list text gibt mir folgendes:

/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 

Wie kann ich dieses Programm kompilieren die Profilierung Version von text 0.11.0.1 mit?

+1

'Text' ist in der Haskell-Plattform zur Zeit nicht; Beide aufgeführten Versionen scheinen lokal installiert zu sein, wie E Z Yang voraussetzt. – applicative

Antwort

3

Was wahrscheinlich passiert, ist, dass eine der anderen Abhängigkeiten, die Sie ziehen, von einer alten Textversion abhängt, weshalb sie bevorzugt wird. Es ist jedoch schwer zu sagen, da du anscheinend nicht Cabal benutzt.

Eine einfache Stop-Gap ist die Neuinstallation von Text-0.10.0.0 lokal mit Profiling.

cabal install --reinstall text-0.10.0.0 

(vorausgesetzt, Sie Ihre .cabal Konfiguration richtig haben frobbed, andernfalls entsprechende Flags hinzufügen.)

+0

Ich benutze Cabal, um Pakete zu installieren, aber für dieses Projekt benutze ich nur ghc (da die Verwendung von Kabalen wie Overkill erschien). Dies ist meist nur ein Benchmark-Programm. –