3
我創建了一個cabal沙箱,我試圖在我的OSX上構建hakyll Haskell包,但在包temporary-1.2.0.2上發生構建錯誤。可能是什麼原因?
小集團版本低於1.20
生成錯誤是:Haskell包構建錯誤
abcdef-MacBook-Pro:hakyll bd$ cabal install temporary
Resolving dependencies...
Configuring temporary-1.2.0.2...
Building temporary-1.2.0.2...
Preprocessing library temporary-1.2.0.2...
[1 of 3] Compiling Distribution.Compat.Exception (Distribution/Compat/Exception.hs, dist/dist-sandbox-352cd149/build/Distribution/Compat/Exception.o)
[2 of 3] Compiling Distribution.Compat.TempFile (Distribution/Compat/TempFile.hs, dist/dist-sandbox-352cd149/build/Distribution/Compat/TempFile.o)
[3 of 3] Compiling System.IO.Temp (System/IO/Temp.hs, dist/dist-sandbox-352cd149/build/System/IO/Temp.o)
System/IO/Temp.hs:59:3:
Could not deduce (MonadMask m) arising from a use of `bracket'
from the context (MonadIO m, MonadCatch m)
bound by the type signature for
withTempFile :: (MonadIO m, MonadCatch m) =>
FilePath -> String -> (FilePath -> Handle -> m a) -> m a
at System/IO/Temp.hs:(53,17)-(57,19)
Possible fix:
add (MonadMask m) to the context of
the type signature for
withTempFile :: (MonadIO m, MonadCatch m) =>
FilePath -> String -> (FilePath -> Handle -> m a) -> m a
In the expression:
bracket
(liftIO (openTempFile tmpDir template))
(\ (name, handle)
-> liftIO (hClose handle >> ignoringIOErrors (removeFile name)))
(uncurry action)
In an equation for `withTempFile':
withTempFile tmpDir template action
= bracket
(liftIO (openTempFile tmpDir template))
(\ (name, handle)
-> liftIO (hClose handle >> ignoringIOErrors (removeFile name)))
(uncurry action)
System/IO/Temp.hs:79:3:
Could not deduce (MonadMask m) arising from a use of `bracket'
from the context (MonadCatch m, MonadIO m)
bound by the type signature for
withTempDirectory :: (MonadCatch m, MonadIO m) =>
FilePath -> String -> (FilePath -> m a) -> m a
at System/IO/Temp.hs:(73,22)-(77,24)
Possible fix:
add (MonadMask m) to the context of
the type signature for
withTempDirectory :: (MonadCatch m, MonadIO m) =>
FilePath -> String -> (FilePath -> m a) -> m a
In the expression:
bracket
(liftIO (createTempDirectory targetDir template))
(liftIO . ignoringIOErrors . removeDirectoryRecursive)
In an equation for `withTempDirectory':
withTempDirectory targetDir template
= bracket
(liftIO (createTempDirectory targetDir template))
(liftIO . ignoringIOErrors . removeDirectoryRecursive)
Failed to install temporary-1.2.0.2
cabal: Error: some packages failed to install:
temporary-1.2.0.2 failed during the building phase. The exception was:
ExitFailure 1
謝謝。實際上,如果臨時包裹所有者沒有響應,那麼Hakyll所有者應該改用臨時rc。 – xyzt
僅供參考,現在已經在'temporary-1.2.0.3'中修復 - https://github.com/batterseapower/temporary/pull/12#issuecomment-42769179 –
已解決...現在使用cabal安裝hakyll是好的。 – xyzt