
Hi all, so I got myself a brand new lambdabot-4.0 today, but failed miserably building it. First, build-depends lists fps>=0.7. Now Data.ByteString(.*) is in base(since 6.6.1, I believe). Easy to fix, just delete the entry in lambdabot.cabal. After apparently successful configuration, ./build fails, because 'breakChar' is no longer present (in fps-0.8 or the 6.6.1 base). Okay, change breakChar '\n' to break (== '\n') in BotPP.hs and hope for the best. Trying ./build again, fails with Preprocessing executables for lambdabot-4.0... Building lambdabot-4.0... Plugin.hs:46:7: Could not find module `Text.Regex': it is a member of package regex-compat-0.71, which is hidden which would be easy to fix if regex-compat-0.71 WERE hidden, bu it's NOT, it's definitely exposed. So what's going on here and how can I get myself a working lambdabot? I'm on an i386-linux, if that matters. Thanks, Daniel

On Mon, Jun 18, 2007 at 05:07:19PM +0200, Daniel Fischer wrote:
Plugin.hs:46:7: Could not find module `Text.Regex': it is a member of package regex-compat-0.71, which is hidden
which would be easy to fix if regex-compat-0.71 WERE hidden, bu it's NOT, it's definitely exposed.
You need to list it in the "build-depends" field in the .cabal file. Thanks Ian

On 6/18/07, Ian Lynagh
On Mon, Jun 18, 2007 at 05:07:19PM +0200, Daniel Fischer wrote:
Plugin.hs:46:7: Could not find module `Text.Regex': it is a member of package regex-compat-0.71, which is hidden
which would be easy to fix if regex-compat-0.71 WERE hidden, bu it's NOT, it's definitely exposed.
You need to list it in the "build-depends" field in the .cabal file.
Is it possible for cabal to catch this mistake and report a different error? I've bumped into it before as well and found the error message to be enough misleading that I went down the wrong trouble shooting path. Maybe GHC should give a better diagnostic here? Jason

Arrrgh, now I get to: [ 4 of 78] Compiling Lib.Parser ( Lib/Parser.hs, dist/build/lambdabot/lambdabot-tmp/Lib/Parser.o ) Lib/Parser.hs:7920:4: Not in scope: `as_name' Lib/Parser.hs:7926:4: Not in scope: `qualified_name' Lib/Parser.hs:7932:4: Not in scope: `hiding_name' Lib/Parser.hs:8015:4: Not in scope: `minus_name' Lib/Parser.hs:8021:4: Not in scope: `pling_name' Lib/Parser.hs:8034:4: Not in scope: `pling_name' what's happened here? How do I fix that? Am Montag, 18. Juni 2007 23:09 schrieb Jason Dagit:
On 6/18/07, Ian Lynagh
wrote: On Mon, Jun 18, 2007 at 05:07:19PM +0200, Daniel Fischer wrote:
Plugin.hs:46:7: Could not find module `Text.Regex': it is a member of package regex-compat-0.71, which is hidden
which would be easy to fix if regex-compat-0.71 WERE hidden, but it's NOT, it's definitely exposed.
You need to list it in the "build-depends" field in the .cabal file.
Is it possible for cabal to catch this mistake and report a different error? I've bumped into it before as well and found the error message to be enough misleading that I went down the wrong trouble shooting path. Maybe GHC should give a better diagnostic here?
Jason
Yes, very misleading. Cheers, Daniel

On Tue, Jun 19, 2007 at 12:36:44AM +0200, Daniel Fischer wrote:
Arrrgh,
now I get to: [ 4 of 78] Compiling Lib.Parser ( Lib/Parser.hs, dist/build/lambdabot/lambdabot-tmp/Lib/Parser.o )
Lib/Parser.hs:7920:4: Not in scope: `as_name'
Lib/Parser.hs:7926:4: Not in scope: `qualified_name'
Lib/Parser.hs:7932:4: Not in scope: `hiding_name'
Lib/Parser.hs:8015:4: Not in scope: `minus_name'
Lib/Parser.hs:8021:4: Not in scope: `pling_name'
Lib/Parser.hs:8034:4: Not in scope: `pling_name'
what's happened here? How do I fix that?
Your lambdabot is too old. It needed fixes to work with GHC 6.6's version of the haskell-src package. Stefan

Okay, if lambdabot isn't as cool as I believe, it's definitely not worth the fuss. Although, it comes with hoogle and djinn, which are quite neat. Am Dienstag, 19. Juni 2007 00:41 schrieb Stefan O'Rear:
Your lambdabot is too old. It needed fixes to work with GHC 6.6's version of the haskell-src package.
Stefan
Complaint: then why is it in Hackage? I got it from there only monday, if it's obsolete (won't work with ghc later than 6.4.x), please mark it so or remove it. I darcs got lambdabot yesterday (I have no DSL, so it took over 30 minutes, that's why I prefer .tar.* versions), it's still tagged 4.0, that makes me a little uneasy, but I'll see. So now I also need zlib, binary>=2.0 and arrows. Okay, got 'em. Next complaint: the building instructions aren't good enough for dummies like me. What changes to make to Config.hs? The fortunePath is explained well, but What should the fptoolsPath be? Or, what should be in the directory it points to? Somebody please tell me. And what's the outputDir for? Should I change it or not? One more: Note: If you want lambdabot to be able to evaluate expressions (e.g., "> 1 + 1" evaluates to 2) then you'll need hs-plugins and also before './Setup.hs configure --bindir=`pwd`' you need to copy lambdabot.cabal.plugins to lambdabot.cabal. I have the impression that I need plugins anyway, and lambdabot.cabal.plugins seems to be pre-6.6, lists fps>=0.7 among the Build-Depends, but not zlib, binary>=0.2, arrows, regex-compat, regex-posix, and would try to build lambdabot-dynamic, apparently, which in the comment above is dubbed 'Not quite there yet'. Suspicious. So I did a bit of guessing and started the build. Build failed compiling Parser.hs: not in scope as_name &c. In the new Parser.hs, there is #if __GLASGOW_HASKELL__ > 606 as_name = HsIdent "as" hiding_name = HsIdent "hiding" qualified_name = HsIdent "qualified" minus_name = HsSymbol "-" pling_name = HsSymbol "!" #endif Hrm, I have ghc 6.6.1, that seems to define __GLASGOW_HASKELL__ as 606, so I changed '>' to '>=', hoping for the best. Then evereything built fine until... compiling ShowQ.hs. Two instances Arbitrary (Maybe a), one there, one in Test.QuickCheck. Okay, the only way round that which I could see, was commenting out the offending instance in ShowQ. Then no more build failures, unfortunately: $ ./lambdabot Initialising plugins ................Speicherzugriffsfehler I haven't even the foggiest what might be causing that. If it were the fact that my fptools directory is empty, I'd expect a better message. Now what I need is to figure out how to get lambdabot going at all and how to use ft, runplugs, smallcheck & quickcheck (djinn and hoogle provide information on how to use them, the others don't). It would be much appreciated if at least pointers to such information were included in the README. Even more if someone could correctly guess what's wrong with my bot. Cheers, Daniel

On Mon, Jun 18, 2007 at 05:07:19PM +0200, Daniel Fischer wrote:
Hi all,
so I got myself a brand new lambdabot-4.0 today, but failed miserably building it. First, build-depends lists fps>=0.7. Now Data.ByteString(.*) is in base(since 6.6.1, I believe). Easy to fix, just delete the entry in lambdabot.cabal. After apparently successful configuration, ./build fails, because 'breakChar' is no longer present (in fps-0.8 or the 6.6.1 base). Okay, change breakChar '\n' to break (== '\n') in BotPP.hs and hope for the best. Trying ./build again, fails with
Preprocessing executables for lambdabot-4.0... Building lambdabot-4.0...
Plugin.hs:46:7: Could not find module `Text.Regex': it is a member of package regex-compat-0.71, which is hidden
which would be easy to fix if regex-compat-0.71 WERE hidden, bu it's NOT, it's definitely exposed.
So what's going on here and how can I get myself a working lambdabot? I'm on an i386-linux, if that matters.
Lambdabot 4.0 is hopelessly obsolete. Use the darcs version... Stefan
participants (4)
-
Daniel Fischer
-
Ian Lynagh
-
Jason Dagit
-
Stefan O'Rear