Tôi có một số lỗi cabal sau khi giàn giáo dự án haskell của tôi bằng cách sử dụng holy-project.xây dựng cabal --ghc-options = "- fforce-recomp -Wall -fno-code" không thành công
Tôi không nghĩ rằng sự cố liên quan đến plugin đó (có vẻ giống như câu hỏi cabal chung hơn) vì tôi có thể tạo lại nó bắt đầu từ tiêu chuẩn cabal init
. Tôi sẽ ngạc nhiên nếu vấn đề có liên quan đến SublimeHaskell hoặc như nhiều người dường như đang sử dụng nó.
Dưới đây là file cabal được tạo ra (tôi đơn giản hóa/rút ngắn nó một chút):
(các thánh dự án tạo ra một số tập tin ví dụ nguồn cùng)
name: test-holy
version: 0.1.0.0
build-type: Simple
cabal-version: >=1.10
library
exposed-modules: TestHoly
, TestHoly.Swallow
, TestHoly.Coconut
build-depends: base >=4.7 && <4.8
ghc-options: -Wall
hs-source-dirs: src
default-language: Haskell2010
cabal build
làm việc
Lệnh sau không hoạt động:
$ cabal clean && cabal configure && cabal build --ghc-options="-fforce-recomp -Wall -fno-code"
cleaning...
Resolving dependencies...
Configuring test-non-holy2-0.1.0.0...
Building test-non-holy2-0.1.0.0...
Preprocessing library test-non-holy2-0.1.0.0...
[1 of 3] Compiling TestHoly.Coconut (src/TestHoly/Coconut.hs, nothing)
[2 of 3] Compiling TestHoly.Swallow (src/TestHoly/Swallow.hs, nothing)
[3 of 3] Compiling TestHoly (src/TestHoly.hs, nothing)
[1 of 3] Compiling TestHoly.Coconut (src/TestHoly/Coconut.hs, nothing)
[2 of 3] Compiling TestHoly.Swallow (src/TestHoly/Swallow.hs, nothing)
[3 of 3] Compiling TestHoly (src/TestHoly.hs, nothing)
ar: dist/build/TestHoly.o: No such file or directory
ar: dist/build/TestHoly/Swallow.o: No such file or directory
ar: dist/build/TestHoly/Coconut.o: No such file or directory
Từ những gì tôi hiểu, do cờ -fno-code
(Bỏ qua việc tạo mã), không có tệp đối tượng nào được tạo ra do đó trình liên kết không thành công. Điều đó có được mong đợi không? Hoặc nên liên kết không được gọi?
Tại sao tôi chạy lệnh cabal đó?
Như tôi đã nói ở trên: Tôi đang sử dụng SublimeText để chỉnh sửa dự án của mình. Nó không thành công về dự án-thánh tạo ra tập tin cabal với thông báo sau:
Build FAILED
REMAINING STDERR:
Warning: the following files would be used as linker inputs, but linking is not being done: dist/build/TestHoly.dyn_o dist/build/TestHoly/Swallow.dyn_o dist/build/TestHoly/Coconut.dyn_o
ghc: no input files
Usage: For basic information, try the `--help' option.
Qua các cuộc thảo luận trên SublimeHaskell#158 Tôi làm theo các gợi ý bởi NH2 để chạy lệnh cabal này trực tiếp (bởi vì nó là một trong những sử dụng bởi SublimeHaskell).
Tôi rất cảm kích nếu ai đó có thể làm sáng tỏ điều này!
Version info
$ cabal --version
cabal-install version 1.18.0.5
using version 1.18.1.4 of the Cabal library
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.8.3
$ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: OS X 10.10 (14A389)
Kernel Version: Darwin 14.0.0
nào nó hoạt động nếu bạn vượt qua 'cờ -c' để GHC? –
'cabal build --ghc-options =" - c -fforce-recomp -Wall -fno-code "' đưa ra cùng một vấn đề. Tôi đã kiểm tra bằng cách truyền '--verbose' cho cabal và lá cờ đang được truyền trong lệnh ghc:'/usr/bin/ghc --make -fbuilding-cabal-package ... -Wall -c -fforce-recomp - Wall -fno-code' – dvekeman
Bạn có thể thử thêm '-fwrite-interface' không? –