>> Step 1 - configuring sessions-2007.6.18 Configuring sessions-2007.6.18... configure: Dependency base-any: using base-2.0 configure: Dependency mtl-any: using mtl-1.0 configure: Using install prefix: /home/user2 configure: Binaries installed in: /home/user2/bin configure: Libraries installed in: /home/user2/lib/sessions-2007.6.18/ghc-6.6 configure: Private binaries installed in: /home/user2/libexec configure: Data files installed in: /home/user2/share/sessions-2007.6.18 configure: Documentation installed in: /home/user2/share/doc/sessions-2007.6.18 configure: Using compiler: /usr/bin/ghc configure: Compiler flavor: GHC configure: Compiler version: 6.6 configure: Using package tool: /usr/bin/ghc-pkg configure: Using alex version 2.1.0 found on system at: /usr/bin/alex configure: Using ar found on system at: /usr/bin/ar configure: No c2hs found configure: Using cpphs version 0.7 found on system at: /usr/bin/cpphs configure: No ffihugs found configure: Using ghc version 6.6 found on system at: /usr/bin/ghc configure: Using ghc-pkg version 6.6 found on system at: /usr/bin/ghc-pkg configure: No greencard found configure: Using haddock version 0.8 found on system at: /usr/bin/haddock configure: Using happy version 1.16 found on system at: /usr/bin/happy configure: No hmake found configure: Using hsc2hs version 0.66 found on system at: /usr/bin/hsc2hs configure: Using hscolour version 1.8 found on system at: /usr/local/bin/HsColour configure: No hugs found configure: No jhc found configure: Using ld found on system at: /usr/bin/ld configure: No nhc found configure: No pfesetup found configure: Using ranlib found on system at: /usr/bin/ranlib configure: Using tar found on system at: /bin/tar >> Step 2 - building sessions-2007.6.18 Preprocessing library sessions-2007.6.18... Building sessions-2007.6.18... [1 of 9] Compiling Control.Concurrent.Session.List ( Control/Concurrent/Session/List.hs, dist/build/Control/Concurrent/Session/List.o ) [2 of 9] Compiling Control.Concurrent.Session.ExtraClasses ( Control/Concurrent/Session/ExtraClasses.hs, dist/build/Control/Concurrent/Session/ExtraClasses.o ) [3 of 9] Compiling Control.Concurrent.Session.BaseTypes ( Control/Concurrent/Session/BaseTypes.hs, dist/build/Control/Concurrent/Session/BaseTypes.o ) [4 of 9] Compiling Control.Concurrent.Session.BaseClasses ( Control/Concurrent/Session/BaseClasses.hs, dist/build/Control/Concurrent/Session/BaseClasses.o ) [5 of 9] Compiling Control.Concurrent.Session.State ( Control/Concurrent/Session/State.hs, dist/build/Control/Concurrent/Session/State.o ) [6 of 9] Compiling Control.Concurrent.Session.Loop ( Control/Concurrent/Session/Loop.hs, dist/build/Control/Concurrent/Session/Loop.o ) [7 of 9] Compiling Control.Concurrent.Session.Runtime ( Control/Concurrent/Session/Runtime.hs, dist/build/Control/Concurrent/Session/Runtime.o ) [8 of 9] Compiling Control.Concurrent.Session.Choice ( Control/Concurrent/Session/Choice.hs, dist/build/Control/Concurrent/Session/Choice.o ) Control/Concurrent/Session/Choice.hs:91:65: Could not deduce (JustSendsRecvs (SessionSpec s') (SessionSpec o') (SessionSpec i'), JustSendsRecvs (SessionSpec s) (SessionSpec o) (SessionSpec i)) from the context (SetUpdate generalType list tyIdx (Proc () (SessionSpec s) (SessionSpec s') o o' i i'), TypeAsIndex tyIdx num generalType, Choice generalType typeIndexes len, ListIndexed typeIndexes len num tyIdx, ListIndexed list len num (Proc () (SessionSpec s) (SessionSpec s') o o' i i')) arising from use of `Control.Concurrent.Session.State.Proc' at Control/Concurrent/Session/Choice.hs:91:65-70 Possible fix: add (JustSendsRecvs (SessionSpec s') (SessionSpec o') (SessionSpec i'), JustSendsRecvs (SessionSpec s) (SessionSpec o) (SessionSpec i)) to the class or instance method `~||~' or add an instance declaration for (JustSendsRecvs (SessionSpec s') (SessionSpec o') (SessionSpec i'), JustSendsRecvs (SessionSpec s) (SessionSpec o) (SessionSpec i)) Overlapping instances for ZeroOrMoreSteps (SessionSpec s) (SessionSpec s') arising from use of `Control.Concurrent.Session.State.Proc' at Control/Concurrent/Session/Choice.hs:91:65-70 Matching instances: instance [overlap ok] (BuildReductionList () (SessionSpec a) alist, MatchAnyChoice alist (SessionSpec b)) => ZeroOrMoreSteps (SessionSpec a) (SessionSpec b) -- Defined at Control/Concurrent/Session/Runtime.hs:34:0 instance [overlap ok] ZeroOrMoreSteps (SessionSpec a) (SessionSpec a) -- Defined at Control/Concurrent/Session/Runtime.hs:39:0 (The choice depends on the instantiation of `s, s'' Use -fallow-incoherent-instances to use the first choice above) In the second argument of `updateMap', namely `(Proc p)' In the expression: updateMap tyIdx (Proc p) (List gt list) In the definition of `~||~': ~||~ (tyIdx, (Proc p)) (List gt list) = updateMap tyIdx (Proc p) (List gt list) Control/Concurrent/Session/Choice.hs:251:38: Could not deduce (ListIndexed typeIndexes len num selection, ListIndexed procs len num (Proc () (SessionSpec sD) (SessionSpec sD') i i' o o')) from the context (ValidOffer generalType procs specsForOffer, ListLength procs len, ListLength specsForOffer len, ListLength specsForSelect len, ChoiceSpecsProcs specsForOffer procs, Choice generalType typeIndexes len, JustSendsRecvs (SessionSpec (OfferT (List generalType specsForOffer))) (SessionSpec (SessChoiceT (List (generalType, specsForOffer, specsForSelect, procs) specsI))) (SessionSpec (SessChoiceT (List (generalType, specsForSelect, specsForOffer, procs) specsI1)))) arising from use of `findOfferProc' at Control/Concurrent/Session/Choice.hs:(251,38)-(256,55) Possible fix: add (ListIndexed typeIndexes len num selection, ListIndexed procs len num (Proc () (SessionSpec sD) (SessionSpec sD') i i' o o')) to the existential context for `OffersCell' or add an instance declaration for (ListIndexed procs len num (Proc () (SessionSpec sD) (SessionSpec sD') i i' o o')) In the expression: findOfferProc (undefined :: generalType) (undefined :: specsForSelect) (undefined :: specsForOffer) procs selection proc In a pattern binding: (offerProc :: Proc () (SessionSpec sD) (SessionSpec sD') i i' o o') = findOfferProc (undefined :: generalType) (undefined :: specsForSelect) (undefined :: specsForOffer) procs selection proc In the expression: do let (offerProc :: Proc () (SessionSpec sD) (SessionSpec sD') i i' o o') = findOfferProc (undefined :: generalType) (undefined :: specsForSelect) (undefined :: specsForOffer) procs selection proc ((stateSelect, stateOffer) :: (SessionState (SessionSpec s) o i, SessionState (SessionSpec sD) i o)) <- mkState (undefined :: SessionSpec s) let wrapped = wrapProc offerProc stateOffer putMVar procMVar wrapped case proc of (Proc p) -> p stateSelect >> Terminated due to an error.