git-annex/doc/bugs/3.20121112_build_fails_on_Ubuntu_12.04.mdwn
Joey Hess 66c0da1fa9 build-depend on a recent mtl
Old versions have an insufficiently generic definition of reader,
which only works on ReaderT and not on newtypes made of it, or something
like that.
2012-11-25 16:24:05 -04:00

97 lines
3.6 KiB
Markdown

What steps will reproduce the problem?
* Start with Ubuntu 12.04
* sudo apt-get install haskell-platform libgsasl7-dev gsasl g2hs
* cabal install git-annex --bindir=$HOME/bin
What is the expected output? What do you see instead?
Expected omething like "installation successful"
Actual output, after build notices:
Loading package IfElse-0.85 ... linking ... done.
Loading object (static) dist/build/git-annex/git-annex-tmp/Utility/libdiskfree.o ... done
Loading object (static) dist/build/git-annex/git-annex-tmp/Utility/libmounts.o ... done
final link ... done
[157 of 279] Compiling Assistant.Types.DaemonStatus ( Assistant/Types/DaemonStatus.hs, dist/build/git-annex/git-annex-tmp/Assistant/Types/DaemonStatus.o )
[158 of 279] Compiling Assistant.Monad ( Assistant/Monad.hs, dist/build/git-annex/git-annex-tmp/Assistant/Monad.o )
Assistant/Monad.hs:86:16:
Couldn't match expected type `Assistant a'
with actual type `Reader AssistantData a'
Expected type: (AssistantData -> a) -> Assistant a
Actual type: (AssistantData -> a) -> Reader AssistantData a
In the expression: reader
In an equation for `getAssistant': getAssistant = reader
Assistant/Monad.hs:93:15:
Couldn't match expected type `Assistant t0'
with actual type `Reader r0 a0'
In the return type of a call of `reader'
In a stmt of a 'do' block: st <- reader threadState
In the expression:
do { st <- reader threadState;
liftIO $ runThreadState st a }
Assistant/Monad.hs:99:14:
Couldn't match expected type `Assistant t0'
with actual type `Reader r0 a0'
In the return type of a call of `reader'
In a stmt of a 'do' block: d <- reader id
In the expression:
do { d <- reader id;
liftIO $ io $ runAssistant d a }
Assistant/Monad.hs:105:14:
Couldn't match expected type `Assistant t0'
with actual type `Reader r0 a0'
In the return type of a call of `reader'
In a stmt of a 'do' block: d <- reader id
In the expression:
do { d <- reader id;
return $ runAssistant d a }
Assistant/Monad.hs:110:14:
Couldn't match expected type `Assistant t0'
with actual type `Reader r0 a0'
In the return type of a call of `reader'
In a stmt of a 'do' block: d <- reader id
In the expression:
do { d <- reader id;
return $ \ v -> runAssistant d $ a v }
Assistant/Monad.hs:115:14:
Couldn't match expected type `Assistant t0'
with actual type `Reader r0 a0'
In the return type of a call of `reader'
In a stmt of a 'do' block: d <- reader id
In the expression:
do { d <- reader id;
return $ \ v1 v2 -> runAssistant d (a v1 v2) }
Assistant/Monad.hs:120:12:
Couldn't match expected type `Assistant a0'
with actual type `Reader r0 a1'
In the return type of a call of `reader'
In the first argument of `(>>=)', namely `reader v'
In the expression: reader v >>= liftIO . io
cabal: Error: some packages failed to install:
git-annex-3.20121112 failed during the building phase. The exception was:
ExitFailure 1
What version of git-annex are you using? On what operating system?
git annex 3.20121112
Ubuntu 12.04 (current "long term support", all packages up to date)
Please provide any additional information below.
No idea how important this is for git-annex in general but reporting in case it is. Thank you for working on git annex!
> I was able to reproduce this build error when I force installed
> an old version of the haskell mtl library. So git-annex needs version
> 2.1.1 to build, and I have adjusted the build dependencies appropriately.
> [[done]] --[[Joey]]