2011-01-21 86 views
0

有人幫助我理解它。卡巴爾,偉大的應用程序,喜歡它。但是,如果cabal文件發生變化,則cabal編譯將失敗,並顯示一個消息說明run cabal configure。儘管如此,它並沒有抱怨這一點。我不明白爲什麼cabal的程序員花費了所有的麻煩來檢測這種情況,而不是自動運行配置步驟。爲什麼?如果cabal文件更改,爲什麼cabal構建失敗?

+0

其實不是一個壞問題,但我相信有一個原因。無論如何,我只是使用cabal安裝,並將內容發送到我的本地.cabal文件夾。 – 2011-01-21 03:00:28

回答

5

其實,我覺得這已經改變了小集團安裝0.9.5和驚天動地1.10.1.0:

$ cabal unpack bytestring 
cd byteDownloading bytestring-0.9.1.9... 
    Unpacking to bytestring-0.9.1.9/ 

$ cd bytestring-0.9.1.9/ 

$ runghc Setup.hs configure 
Configuring bytestring-0.9.1.9... 

$ touch bytestring.cabal 

$ runghc Setup.hs build 
./bytestring.cabal has been changed. Re-configuring with most recently used 
options. If this fails, please run configure manually. 
Configuring bytestring-0.9.1.9... 
Preprocessing library bytestring-0.9.1.9... 
Building bytestring-0.9.1.9... 
[1 of 8] Compiling Data.ByteString.Fusion (Data/ByteString/Fusion.hs, dist/build/Data/ByteString/Fusion.o) 
... etc ... 

所以只是等待下一次哈斯克爾平臺版本(與GHC 7和新驚天動地)和你將不會再次得到這個惱人的錯誤:-)

0

我想這是因爲這會導致奇怪的錯誤。我們假設,你配置了一些參數,例如。您選擇了另一個編譯器eith -w。目前,cabal不知道,你給配置的參數是什麼。我想實際上更聰明的方法是使用默認參數來請求重新配置而不是配置。但爲什麼不爲此打開票?