Tôi muốn biên dịch chương trình của tôi với hồ sơ, vì vậy tôi chạy:Cabal không cài đặt các phụ thuộc khi cần thư viện lược tả?
$ 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'?
...
Vì vậy, vấn đề là, rằng không giống như hành vi chào đón thông thường cabal của, cabal không giải quyết được sự phụ thuộc và cài đặt chúng khi cần thư viện profiling.
tôi có thể làm việc xung quanh nó bằng cách giải quyết các phụ thuộc bằng tay (do lỗi xuất hiện sau một thời gian biên soạn sau đây):
$ 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
Và sau đó lặp lại cho sự phụ thuộc tiếp theo của tôi ..
Có cách tốt hơn để làm điều này? tức là làm cho cabal tự làm công việc như đối với các thư viện thông thường?
Tôi đã kích hoạt ' thư viện-profilin g: True' trong tập tin '~/.cabal/config' của tôi. Từ đó trở đi, mọi cài đặt mới sẽ tự động bật tính năng định cấu hình. Thật không may đó vẫn có nghĩa là tôi đã phải tự cài đặt lại cho các gói cũ đã được cài đặt. Mặc dù, sau một thời gian làm điều này bằng tay, tôi _now_ có hầu hết các gói cài đặt lại với hồ sơ được kích hoạt ... –
@Tom Lokhorst: Cảm ơn. Ngoài ra, điều này có vẻ là câu trả lời tốt nhất/duy nhất. Vì vậy, nếu bạn muốn, bạn có thể đặt nó xuống như một câu trả lời để tôi có thể chấp nhận nó – yairchu
Vâng, nó là bất lịch sự để nói không để upvotes miễn phí :-) Tuy nhiên, tôi hy vọng ai đó sẽ đi cùng với một câu trả lời tốt hơn, một trong đó sẽ không yêu cầu tôi phải cài đặt lại Nền tảng Haskell hoàn chỉnh theo cách thủ công lần sau. –