2012-02-20 14 views
17

Thật không may cabal-dev ghci không làm việc trong dự án này, tôi nhận được một lỗi:Làm thế nào để tôi sử dụng runhaskell với cabal-dev?

Loading package download-0.3.2 ... linking ... 
ghc: /home/stulli/haskell/ifdl/cabal-dev//lib/download-0.3.2/ghc-7.4.1/HSdownload-0.3.2.o: unknown symbol `stat64' 
ghc: unable to load package `download-0.3.2' 

Vì vậy, tôi cố gắng runhaskell, nhưng nó sử dụng các gói mà đi cài đặt với cabal thay vì cabal-dev và do đó thất bại.

update: runhaskell tạo ra lỗi tương tự:

$ runhaskell -isrc:src/test -package-conf=cabal-dev/packages-7.4.1.conf src/test/Test.hs 
Test.hs: /home/stulli/haskell/ifdl/cabal-dev//lib/download-0.3.2/ghc-7.4.1/HSdownload-0.3.2.o: unknown symbol `stat64' 
Test.hs: Test.hs: unable to load package `download-0.3.2' 

cabal-dev cài đặt trên Mặt khác hoạt động mà không vấn đề.

+4

Nếu bạn sử dụng 'cabal sandbox' (không tồn tại khi bạn đặt câu hỏi), bạn có thể thực hiện 'cabal exec runhaskell main.hs'. – Snowball

Trả lời

15

Bạn có thể thử một cái gì đó như sau:

runhaskell -package-conf=cabal-dev/packages-7.0.3.conf main.hs 

Nhưng tôi nghĩ nếu cabal-dev ghci không hoạt động, sau đó runhaskell sẽ không làm việc quá. Bạn cần tìm hiểu xem có gì sai với gói download.

+0

Có, bạn đã đúng. runhaskell có sai lầm tương tự. cài đặt cabal-dev hoạt động mặc dù ... – somesoaccount

+0

Vì điều này làm việc trên một thư mục khác (không có gói bị hỏng), tôi sẽ chấp nhận câu trả lời này. – somesoaccount

+4

trong GHC 7.6 '-package-conf' không được dùng' -package-db' nên được sử dụng thay thế, xem http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/packages.html# gói-cơ sở dữ liệu – Qrilka

1

Thiết lập cabal-dev không hoạt động tốt cho ghci, vì vậy rất có thể là nó cũng không hoạt động tốt cho runhaskell. Có lẽ virthualenv sẽ hoạt động tốt hơn cho trường hợp sử dụng này?

+0

Bây giờ tôi nhận được một lỗi vì một lỗi phụ thuộc cơ sở khi cài đặt virthualenv. Tôi sẽ thử nó khi tôi đang ở trong tâm trạng cho không quan trọng xung quanh một chút, vì vậy cảm ơn cho gợi ý. Có lẽ tôi sẽ tìm một giải pháp thay thế cho gói tải xuống mà tôi có thể sử dụng trong tương lai. – somesoaccount

9

Để sử dụng runhaskell với sandboxes cabal (cabal> = 1,18), hãy chạy lệnh

runhaskell -package-db=.cabal-sandbox/i386-windows-ghc-7.6.3-packages.conf.d <file.hs> 

thay thế các *-packages.conf.d thư mục thích hợp cho phiên bản GHC của bạn.