Error building Edison 1.2.0.1

Hi folks, I tried to build edison-1.2.0.1-sources with the command 'make system' but got: *** Exception: Line 10: Unknown field 'hs-source-dirs' I am using GHC 6.4.1. Any idea how to fix this? Thanks, Lyle

On Tuesday 03 October 2006 22:00, Lyle Kopnicky wrote:
Hi folks,
I tried to build edison-1.2.0.1-sources with the command 'make system' but got:
*** Exception: Line 10: Unknown field 'hs-source-dirs'
I am using GHC 6.4.1. Any idea how to fix this?
You are probably using an older version of Cabal. You can either upgrade Cabal or, from the Edison README*: This version of edison builds correctly with Cabal version 1.1.4, which is shipped with GHC 6.4.2. To build on earlier versions, it should suffice to: s/UndecidableInstances/AllowUndecidableInstances/ s/Hs-Source-Dirs:/Hs-Source-Dir:/ in the .cabal files. The 'hs-source-dir' cabal directive was depreciated in 1.1.4, but perhaps I should have waited a bit longer to change it. OTOH, there isn't any good way to deal with the change in the undecidable instances flag, since it was outright changed. Grrrr..... *grumble* incompatible changes in minor releases *grumble*. (*) Further, grrrr... in the above, I've fixed several embarrasing typos in the text of the README.
Thanks, Lyle
-- Rob Dockins Talk softly and drive a Sherman tank. Laugh hard, it's a long way to the bank. -- TMBG

Robert Dockins wrote:
On Tuesday 03 October 2006 22:00, Lyle Kopnicky wrote:
Hi folks,
I tried to build edison-1.2.0.1-sources with the command 'make system' but got:
*** Exception: Line 10: Unknown field 'hs-source-dirs'
I am using GHC 6.4.1. Any idea how to fix this?
You are probably using an older version of Cabal. You can either upgrade Cabal or, from the Edison README*:
This version of edison builds correctly with Cabal version 1.1.4, which is shipped with GHC 6.4.2. To build on earlier versions, it should suffice to:
s/UndecidableInstances/AllowUndecidableInstances/ s/Hs-Source-Dirs:/Hs-Source-Dir:/
in the .cabal files.
The 'hs-source-dir' cabal directive was depreciated in 1.1.4, but perhaps I should have waited a bit longer to change it. OTOH, there isn't any good way to deal with the change in the undecidable instances flag, since it was outright changed. Grrrr..... *grumble* incompatible changes in minor releases *grumble*.
(*) Further, grrrr... in the above, I've fixed several embarrasing typos in the text of the README.
Oh, OK, thanks! Well, now I'm running GHC 6.5.20060924, and getting the error mentioned in my previous message. - Lyle

On Tuesday 03 October 2006 22:58, Lyle Kopnicky wrote:
Robert Dockins wrote:
On Tuesday 03 October 2006 22:00, Lyle Kopnicky wrote:
Hi folks,
I tried to build edison-1.2.0.1-sources with the command 'make system' but got:
*** Exception: Line 10: Unknown field 'hs-source-dirs'
I am using GHC 6.4.1. Any idea how to fix this?
You are probably using an older version of Cabal. You can either upgrade Cabal or, from the Edison README*:
This version of edison builds correctly with Cabal version 1.1.4, which is shipped with GHC 6.4.2. To build on earlier versions, it should suffice to:
s/UndecidableInstances/AllowUndecidableInstances/ s/Hs-Source-Dirs:/Hs-Source-Dir:/
in the .cabal files.
The 'hs-source-dir' cabal directive was depreciated in 1.1.4, but perhaps I should have waited a bit longer to change it. OTOH, there isn't any good way to deal with the change in the undecidable instances flag, since it was outright changed. Grrrr..... *grumble* incompatible changes in minor releases *grumble*.
(*) Further, grrrr... in the above, I've fixed several embarrasing typos in the text of the README.
Oh, OK, thanks! Well, now I'm running GHC 6.5.20060924, and getting the error mentioned in my previous message.
Whats the output of ghc-pkg -l ?
- Lyle
-- Rob Dockins Talk softly and drive a Sherman tank. Laugh hard, it's a long way to the bank. -- TMBG

Robert Dockins wrote:
On Tuesday 03 October 2006 22:58, Lyle Kopnicky wrote:
Robert Dockins wrote:
On Tuesday 03 October 2006 22:00, Lyle Kopnicky wrote:
Hi folks,
I tried to build edison-1.2.0.1-sources with the command 'make system' but got:
*** Exception: Line 10: Unknown field 'hs-source-dirs'
I am using GHC 6.4.1. Any idea how to fix this?
You are probably using an older version of Cabal. You can either upgrade Cabal or, from the Edison README*:
This version of edison builds correctly with Cabal version 1.1.4, which is shipped with GHC 6.4.2. To build on earlier versions, it should suffice to:
s/UndecidableInstances/AllowUndecidableInstances/ s/Hs-Source-Dirs:/Hs-Source-Dir:/
in the .cabal files.
The 'hs-source-dir' cabal directive was depreciated in 1.1.4, but perhaps I should have waited a bit longer to change it. OTOH, there isn't any good way to deal with the change in the undecidable instances flag, since it was outright changed. Grrrr..... *grumble* incompatible changes in minor releases *grumble*.
(*) Further, grrrr... in the above, I've fixed several embarrasing typos in the text of the README.
Oh, OK, thanks! Well, now I'm running GHC 6.5.20060924, and getting the error mentioned in my previous message.
Whats the output of
ghc-pkg -l
?
lwk@lwk-desktop:~$ ghc-pkg -l /usr/local/lib/ghc-6.5.20060924/package.conf: Cabal-1.1.4, base-2.0, (ghc-6.5.20060924), haskell98-1.0, parsec-2.0, readline-1.0, regex-base-0.71, regex-compat-0.71, regex-posix-0.71, rts-1.0, stm-2.0, template-haskell-2.0, unix-1.0 l

On Wednesday 04 October 2006 16:16, Lyle Kopnicky wrote:
Robert Dockins wrote:
On Tuesday 03 October 2006 22:58, Lyle Kopnicky wrote:
Robert Dockins wrote:
On Tuesday 03 October 2006 22:00, Lyle Kopnicky wrote:
Hi folks,
I tried to build edison-1.2.0.1-sources with the command 'make system' but got:
*** Exception: Line 10: Unknown field 'hs-source-dirs'
I am using GHC 6.4.1. Any idea how to fix this?
You are probably using an older version of Cabal. You can either upgrade Cabal or, from the Edison README*:
This version of edison builds correctly with Cabal version 1.1.4, which is shipped with GHC 6.4.2. To build on earlier versions, it should suffice to:
s/UndecidableInstances/AllowUndecidableInstances/ s/Hs-Source-Dirs:/Hs-Source-Dir:/
in the .cabal files.
The 'hs-source-dir' cabal directive was depreciated in 1.1.4, but perhaps I should have waited a bit longer to change it. OTOH, there isn't any good way to deal with the change in the undecidable instances flag, since it was outright changed. Grrrr..... *grumble* incompatible changes in minor releases *grumble*.
(*) Further, grrrr... in the above, I've fixed several embarrasing typos in the text of the README.
Oh, OK, thanks! Well, now I'm running GHC 6.5.20060924, and getting the error mentioned in my previous message.
Whats the output of
ghc-pkg -l
?
lwk@lwk-desktop:~$ ghc-pkg -l /usr/local/lib/ghc-6.5.20060924/package.conf: Cabal-1.1.4, base-2.0, (ghc-6.5.20060924), haskell98-1.0, parsec-2.0, readline-1.0, regex-base-0.71, regex-compat-0.71, regex-posix-0.71, rts-1.0, stm-2.0, template-haskell-2.0, unix-1.0 l
Hummm. Well, I confess that I'm confused. Cabal 1.1.4 should work, because that's what I have on my machines; I've just tested it here. The only thing I can think of is that the 'runhaskell' command is still bound to your old GHC, or to something else (Hugs maybe?). If that's the case, you can edit the makefile and set the 'RUNHS' variable in the first line to the full path to your 6.5 runghc. Or you can edit the .cabal files as suggested above. -- Rob Dockins Talk softly and drive a Sherman tank. Laugh hard, it's a long way to the bank. -- TMBG

Robert Dockins wrote:
On Wednesday 04 October 2006 16:16, Lyle Kopnicky wrote:
Robert Dockins wrote:
Whats the output of
ghc-pkg -l
?
lwk@lwk-desktop:~$ ghc-pkg -l /usr/local/lib/ghc-6.5.20060924/package.conf: Cabal-1.1.4, base-2.0, (ghc-6.5.20060924), haskell98-1.0, parsec-2.0, readline-1.0, regex-base-0.71, regex-compat-0.71, regex-posix-0.71, rts-1.0, stm-2.0, template-haskell-2.0, unix-1.0 l
Hummm. Well, I confess that I'm confused. Cabal 1.1.4 should work, because that's what I have on my machines; I've just tested it here. The only thing I can think of is that the 'runhaskell' command is still bound to your old GHC, or to something else (Hugs maybe?). If that's the case, you can edit the makefile and set the 'RUNHS' variable in the first line to the full path to your 6.5 runghc. Or you can edit the .cabal files as suggested above.
I don't have hugs installed, and I've uninstalled ghc 6.4.1, so it can only be running 6.5. I've pasted the error in again here for reference:
lwk@lwk-desktop:~/devel/edison-1.2.0.1-source$ sudo make system Password: cd edison-api && \ runhaskell Setup.hs configure && \ runhaskell Setup.hs build && \ runhaskell Setup.hs install Configuring EdisonAPI-1.2... configure: Dependency base>=1.0: using base-2.0 configure: Dependency haskell98>=1.0: using haskell98-1.0 Setup.hs: cannot satisfy dependency mtl>=1.0 make: *** [api-system] Error 1 lwk@lwk-desktop:~/devel/edison-1.2.0.1-source$ Do you know what mtl is? Maybe there's something broken in this GHC snapshot. I've already noticed Template Haskell seems to be broken in it.
- Lyle

On Thursday 05 October 2006 16:51, Lyle Kopnicky wrote:
Robert Dockins wrote:
On Wednesday 04 October 2006 16:16, Lyle Kopnicky wrote:
Robert Dockins wrote:
Whats the output of
ghc-pkg -l
?
lwk@lwk-desktop:~$ ghc-pkg -l /usr/local/lib/ghc-6.5.20060924/package.conf: Cabal-1.1.4, base-2.0, (ghc-6.5.20060924), haskell98-1.0, parsec-2.0, readline-1.0, regex-base-0.71, regex-compat-0.71, regex-posix-0.71, rts-1.0, stm-2.0, template-haskell-2.0, unix-1.0 l
Hummm. Well, I confess that I'm confused. Cabal 1.1.4 should work, because that's what I have on my machines; I've just tested it here. The only thing I can think of is that the 'runhaskell' command is still bound to your old GHC, or to something else (Hugs maybe?). If that's the case, you can edit the makefile and set the 'RUNHS' variable in the first line to the full path to your 6.5 runghc. Or you can edit the .cabal files as suggested above.
I don't have hugs installed, and I've uninstalled ghc 6.4.1, so it can only be running 6.5.
I've pasted the error in again here for reference:
lwk@lwk-desktop:~/devel/edison-1.2.0.1-source$ sudo make system Password: cd edison-api && \ runhaskell Setup.hs configure && \ runhaskell Setup.hs build && \ runhaskell Setup.hs install Configuring EdisonAPI-1.2... configure: Dependency base>=1.0: using base-2.0 configure: Dependency haskell98>=1.0: using haskell98-1.0 Setup.hs: cannot satisfy dependency mtl>=1.0 make: *** [api-system] Error 1 lwk@lwk-desktop:~/devel/edison-1.2.0.1-source$
Do you know what mtl is?
mtl is the Monad Transformer Library. It's a part of the standard libraries in 6.4.x. There's been a good deal of chatter recently about reducing the set of libraries the GHC ships with; it may be that mtl is on that list. I haven't really been following, so I'm not sure.
Maybe there's something broken in this GHC snapshot. I've already noticed Template Haskell seems to be broken in it.
Possible. I also notice that QuickCheck isn't in your list of installed packages. You'll need that to compile edison-core.
- Lyle
-- Rob Dockins Talk softly and drive a Sherman tank. Laugh hard, it's a long way to the bank. -- TMBG

Robert Dockins wrote:
On Thursday 05 October 2006 16:51, Lyle Kopnicky wrote:
Robert Dockins wrote:
mtl is the Monad Transformer Library. It's a part of the standard libraries in 6.4.x. There's been a good deal of chatter recently about reducing the set of libraries the GHC ships with; it may be that mtl is on that list. I haven't really been following, so I'm not sure.
Maybe there's something broken in this GHC snapshot. I've already noticed Template Haskell seems to be broken in it.
Possible. I also notice that QuickCheck isn't in your list of installed packages. You'll need that to compile edison-core.
OK, now I've uninstalled GHC 6.5.x, and installed 6.4.2, and now I can compile Edison without any problem. I think that 6.5.x snapshot was missing some libraries. Three cheers for stable releases. - Lyle

Hi Rob, I've built Edison 1.2.0.1 using ghc-6.6. (I'm testing the macports, formerly darwinports, packages for the new 6.6 release.) The build goes fine, but the ./Setup register fails claiming that the directory /opt/local/lib/EdisonAPI-1.2/ghc-6.6/include does not exist. I can make the directory by hand, and the registration works. I have an ugly workaround, but I wanted to check with you that this is really a cabal bug. Installation using ghc-6.4.2 on OS X/ppc worked just fine for me. Best Wishes, Greg

On Oct 17, 2006, at 12:55 PM, Gregory Wright wrote:
Hi Rob,
I've built Edison 1.2.0.1 using ghc-6.6. (I'm testing the macports, formerly darwinports, packages for the new 6.6 release.)
The build goes fine, but the ./Setup register fails claiming that the directory /opt/local/lib/EdisonAPI-1.2/ghc-6.6/include does not exist. I can make the directory by hand, and the registration works. I have an ugly workaround, but I wanted to check with you that this is really a cabal bug. Installation using ghc-6.4.2 on OS X/ppc worked just fine for me.
Best Wishes, Greg
I'm not doing anything unusual with the cabal scripts (that I'm aware of!), so I expect this is a cabal or GHC bug. BTW, could you run the test suite if you get a moment? Every data point helps. Rob Dockins Speak softly and drive a Sherman tank. Laugh hard; it's a long way to the bank. -- TMBG

On Oct 17, 2006, at 1:07 PM, Robert Dockins wrote:
On Oct 17, 2006, at 12:55 PM, Gregory Wright wrote:
Hi Rob,
I've built Edison 1.2.0.1 using ghc-6.6. (I'm testing the macports, formerly darwinports, packages for the new 6.6 release.)
The build goes fine, but the ./Setup register fails claiming that the directory /opt/local/lib/EdisonAPI-1.2/ghc-6.6/include does not exist. I can make the directory by hand, and the registration works. I have an ugly workaround, but I wanted to check with you that this is really a cabal bug. Installation using ghc-6.4.2 on OS X/ppc worked just fine for me.
Best Wishes, Greg
I'm not doing anything unusual with the cabal scripts (that I'm aware of!), so I expect this is a cabal or GHC bug.
BTW, could you run the test suite if you get a moment? Every data point helps.
Hi Rob, OK, it looks like cabal has gone slightly broken again. :-( Here's the test data: OS X 10.4.8/ppc PowerBook G4, 1.5 GHz, 1 GB ram ghc-6.6, cabal 1.1.6 as distributed with ghc-6.6, built using macports test output: Welcome to Darwin! crossroads-able> cd ~/Desktop/edison-1.2.0.1-source/test/ crossroads-able> ./dist/build/testSuite/testSuite Cases: 1728 Tried: 1728 Errors: 0 Failures: 0 crossroads-able> Everything looks good but for the package registration. I should add that I find the Edison package wonderfully easy to work with. It has really helped me out while writing simulation of the custom communication system for a customer. Many thanks to you, Rob, and Chris Okasaki for this fine software! Best Wishes, Greg
Rob Dockins
Speak softly and drive a Sherman tank. Laugh hard; it's a long way to the bank. -- TMBG
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Oct 17, 2006, at 1:46 PM, Gregory Wright wrote:
On Oct 17, 2006, at 1:07 PM, Robert Dockins wrote:
On Oct 17, 2006, at 12:55 PM, Gregory Wright wrote:
Hi Rob,
I've built Edison 1.2.0.1 using ghc-6.6. (I'm testing the macports, formerly darwinports, packages for the new 6.6 release.)
The build goes fine, but the ./Setup register fails claiming that the directory /opt/local/lib/EdisonAPI-1.2/ghc-6.6/include does not exist. I can make the directory by hand, and the registration works. I have an ugly workaround, but I wanted to check with you that this is really a cabal bug. Installation using ghc-6.4.2 on OS X/ppc worked just fine for me.
Best Wishes, Greg
I'm not doing anything unusual with the cabal scripts (that I'm aware of!), so I expect this is a cabal or GHC bug.
BTW, could you run the test suite if you get a moment? Every data point helps.
Hi Rob,
OK, it looks like cabal has gone slightly broken again. :-(
Any idea what the problem is? Or why other people aren't yelling about it? Is it only the "register" command that is broken?
Here's the test data:
OS X 10.4.8/ppc PowerBook G4, 1.5 GHz, 1 GB ram ghc-6.6, cabal 1.1.6 as distributed with ghc-6.6, built using macports
test output:
Welcome to Darwin! crossroads-able> cd ~/Desktop/edison-1.2.0.1-source/test/ crossroads-able> ./dist/build/testSuite/testSuite Cases: 1728 Tried: 1728 Errors: 0 Failures: 0 crossroads-able>
Excellent. That's what I like to see. Thanks!
Everything looks good but for the package registration.
I should add that I find the Edison package wonderfully easy to work with. It has really helped me out while writing simulation of the custom communication system for a customer. Many thanks to you, Rob, and Chris Okasaki for this fine software!
Best Wishes, Greg
Rob Dockins Speak softly and drive a Sherman tank. Laugh hard; it's a long way to the bank. -- TMBG

On Oct 18, 2006, at 8:47 AM, Robert Dockins wrote:
On Oct 17, 2006, at 1:46 PM, Gregory Wright wrote:
On Oct 17, 2006, at 1:07 PM, Robert Dockins wrote:
On Oct 17, 2006, at 12:55 PM, Gregory Wright wrote:
Hi Rob,
I've built Edison 1.2.0.1 using ghc-6.6. (I'm testing the macports, formerly darwinports, packages for the new 6.6 release.)
The build goes fine, but the ./Setup register fails claiming that the directory /opt/local/lib/EdisonAPI-1.2/ghc-6.6/include does not exist. I can make the directory by hand, and the registration works. I have an ugly workaround, but I wanted to check with you that this is really a cabal bug. Installation using ghc-6.4.2 on OS X/ppc worked just fine for me.
Best Wishes, Greg
I'm not doing anything unusual with the cabal scripts (that I'm aware of!), so I expect this is a cabal or GHC bug.
BTW, could you run the test suite if you get a moment? Every data point helps.
Hi Rob,
OK, it looks like cabal has gone slightly broken again. :-(
Any idea what the problem is? Or why other people aren't yelling about it? Is it only the "register" command that is broken?
I don't know what the problem is yet. It only affects the "register" command, which I suspect is lightly tested. It may be moot, since I have discovered more infelicities when using cabal and macports together. Macports allows an applications tree to be uninstalled and reinstalled. Uninstallation is done by removing the installed file; reinstallation is done by unpacking them from a tarball. The problem here is that the Setup script is not preserved after the initial build, so unregistering and reregistering don't work. The workaround will likely be to run the ghc-pkg commands directly, rather than using setup. The cabal folks might want to think about saving setup scripts somewhere, so that "unregister" could be run even if the original build tree were deleted. I could just unarchive the whole library or application and rebuild the setup script, but that doesn't seem very attractive either. Best Wishes, Greg
Here's the test data:
OS X 10.4.8/ppc PowerBook G4, 1.5 GHz, 1 GB ram ghc-6.6, cabal 1.1.6 as distributed with ghc-6.6, built using macports
test output:
Welcome to Darwin! crossroads-able> cd ~/Desktop/edison-1.2.0.1-source/test/ crossroads-able> ./dist/build/testSuite/testSuite Cases: 1728 Tried: 1728 Errors: 0 Failures: 0 crossroads-able>
Excellent. That's what I like to see. Thanks!
Everything looks good but for the package registration.
I should add that I find the Edison package wonderfully easy to work with. It has really helped me out while writing simulation of the custom communication system for a customer. Many thanks to you, Rob, and Chris Okasaki for this fine software!
Best Wishes, Greg
Rob Dockins
Speak softly and drive a Sherman tank. Laugh hard; it's a long way to the bank. -- TMBG
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (3)
-
Gregory Wright
-
Lyle Kopnicky
-
Robert Dockins