Ich möchte mein Programm mit einer Profilierung kompilieren, so dass ich laufen:Cabal installiert keine Abhängigkeiten, wenn Profilbibliotheken benötigt werden?
$ cabal configure --enable-executable-profiling
...
$ cabal build
...
Could not find module 'Graphics.UI.GLUT':
Perhaps you havent installed the profiling libraries for package 'GLUT-2.2.2.0'?
...
$ # indeed I have not installed the prof libs for GLUT, so..
$ cabal install -p GLUT --reinstall
...
Could not find module 'Graphics.Rendering.OpenGL':
Perhaps you havent installed the profiling libraries for package 'OpenGL-2.4.0.1'?
...
Also, das Problem ist, dass im Gegensatz zu begrüßen Verhalten üblich der Kabalen, Kabale nicht die Abhängigkeiten auflösen und sie installieren, wenn Profilierungs Bibliotheken benötigen.
Ich kann es umgehen, indem Sie die Abhängigkeiten manuell lösen (durch Fehler folgen, die nach einer gewissen Zeit der Erstellung angezeigt):
$ cabal install -p OpenGLRaw --reinstall
$ cabal install -p StateVar --reinstall
$ cabal install -p Tensor --reinstall
$ cabal install -p ObjectName --reinstall
$ cabal install -p GLURaw --reinstall
$ cabal install -p OpenGL --reinstall
$ cabal install -p GLUT --reinstall
und wiederholen Sie dann für meine nächste Abhängigkeit ..
Gibt es eine bessere Möglichkeit, dies zu tun? Machen cabal die Arbeit alleine wie für normale Bibliotheken?
Ich habe 'aktiviert Bibliothek-Profilin g: Wahr in meiner '~/.cabal/config' Datei. Ab dann wird bei jeder neuen Installation automatisch das Profiling aktiviert. Leider bedeutet das immer noch, dass ich für die alten bereits installierten Pakete manuell neu installieren musste. Obwohl ich nach einiger Zeit manuell die meisten Pakete neu installiert habe, wurde die Profilierung aktiviert ... –
@Tom Lokhorst: Danke. Auch das scheint die beste/einzige Antwort zu sein. Also, wenn du willst, kannst du es als Antwort aufschreiben, damit ich es akzeptieren kann. – yairchu
Nun, es ist unhöflich, nein zu sagen, um upvotes zu befreien :-) Allerdings hoffe ich, dass jemand mit einer besseren Antwort kommt, eine, die das nicht würde fordere, dass ich die komplette Haskell Platform beim nächsten Mal manuell neu installiere. –