[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hs-plugins fails with ghc6-6.12



Giovanni Mascellani ha scritto:
> Joachim Breitner ha scritto:
>> Any volunteers in taking care of this (contacting upstream, writing and
>> testing patch etc.)? (This is something especially for the new group
>> members. The DDs are tied in with the transition uploading right now
>> *audible sigh*)
> 
> The patch I just pushed should solve some of the problems (maybe it
> could forwarded upstream). There are still problems, but it's a quarter
> pas two and I'm tired! :-)

Now the problem is:

> [11 of 15] Compiling System.Plugins.Load ( src/System/Plugins/Load.hs, dist-ghc6/build/System/Plugins/Load.o )
> 
> src/System/Plugins/Load.hs:98:4:
>     Couldn't match expected type `IO ModIface'
>            against inferred type `DynFlags.DynFlags -> b'
>     In a stmt of a 'do' expression: e <- newHscEnv undefined
>     In the expression:
>         do { e <- newHscEnv undefined;
>              initTcRnIf
>                'r'
>                e
>                undefined
>                undefined
>                (readBinIface IgnoreHiWay QuietBinIFaceReading hi_path) }
>     In the definition of `readBinIface'':
>         readBinIface' hi_path
>                         = do { e <- newHscEnv undefined;
>                                initTcRnIf
>                                  'r'
>                                  e
>                                  undefined
>                                  undefined
>                                  (readBinIface IgnoreHiWay QuietBinIFaceReading hi_path) }
> 
> src/System/Plugins/Load.hs:441:13:
>     A lazy (~) pattern cannot contain unlifted types ~(Ptr addr)
>     In the pattern: ~(Ptr addr)
>     In a stmt of a 'do' expression:
>         (ptr@(~(Ptr addr))) <- withCString symbol c_lookupSymbol
>     In the expression:
>         do { let symbol = prefixUnderscore
>                         ++  (maybe "" (\ p -> ...) pkg)
>                           ++  encode m ++ "_" ++ (encode valsym) ++ "_closure";
>              (ptr@(~(Ptr addr))) <- withCString symbol c_lookupSymbol;
>              if (ptr == nullPtr) then
>                  return Nothing
>              else
>                  case addrToHValue# addr of { (# hval #) -> return (Just hval) } }

I'm not able to go any further. I've written upstream, let's see if Don
has good advices for us! :-)

Giovanni.
-- 
Giovanni Mascellani <mascellani@poisson.phc.unipi.it>
Pisa, Italy

Web: http://poisson.phc.unipi.it/~mascellani
Jabber: g.mascellani@jabber.org / giovanni@elabor.homelinux.org

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: