Building/installing haskelldb and friends with ghc 6.10.1

Hi everyone, I have been trying to install haskelldb in the last few days and encountered a number of hurdles which raised a few questions and for which I'd appreciate some insight and advice. Note that I am posting here because they are not specifically haskelldb related. I am using Cabal to install haskelldb, haskelldb-hsql, haskelldb-hsql- mysql (and others) and discovered that the packages available on hackage do not build properly with ghc 6.10.1. The typical error being of the following kind: Could not find module `System.Time': it is a member of package old-time-1.0.0.1, which is hidden These ones are relatively easy to fix by finding the locally cached .tar.gz and modifying the .cabal file to include the corresponding packages (there were several of them which were discovered in successive attempts). But I finally stumbled on hsql-mysql due to it apparently not being actively maintained anymore (this seemingly simple conclusion actually required quite a lot of research). I read on haskell-cafe that Frederik Eaton had been apparently fixing these problems but could find nowhere a version exhibiting the will to compile gracefully, a darcs repository at http://code.haskell.org/ HSQL/ apparently containing patches from him also proved reluctant to build, although for different reasons. I wasn't courageous enough to pursue and try to fix them at that point of the adventure. Other searches in haskell cafe lead me to people advising to use HDBC instead, after which I contemplated suicide for a few seconds before coming back to my senses and cabal-installing haskelldb-hdbc which quickly led me to error messages of the exact same kind mentioned above. Strangely enough, hdbc 1.1.5 itself installs quite fine using Cabal, however, haskell-hdbc insists on depending on version 1.0.1. I haven't been able so far to find what configuration file to modify in order for it to try to build with the latest Cabalized version (I admit I didn't search much). I then discovered this page http://www.haskell.org/haskellwiki/Upgrading_packages which hints that some of the existing packages in Hackage need "a bit" of work to be usable with ghc 6.10.1 as well as ghc 6.8.x apparently. HSQL and haskelldb-HDBC seem indeed to be in the list of packages which would require some effort in order to be usable with the latest ghc versions (can't remember where I read that though). Pursuing any further would seem to require to delve deeper in the intricacies of the Cabal system and fix either HSQL or HaskellDB-HDBC. Since I really want to use HaskellDB I'll probably try these avenues, but I would appreciate comments at this point from persons knowledgeable in the evocated areas: Are the databases interface for haskelldb still officially maintained and where is this information available ? Is the information that this and that package are compatible (or not) with ghc 6.8.x or 6.10.1 available somewhere without compiling first hand the packages ? It would be immensely valuable to the haskell newcomer to have the incompatible packages signaled on http://hackage.haskell.org/packages/archive/pkg-list.html for example. What would you recommend at this point : fix hsql, or haskelldb-hdbc so it uses 1.1.5 instead of 1.1, try an alternative to haskelldb (are there any ?) ? Thanks in advance for your comments and advices. Best regards, Laurent -- Laurent Giroud ml@niaow.com

On Sat, 2008-12-06 at 23:32 +0100, Laurent Giroud wrote:
Hi everyone,
I have been trying to install haskelldb in the last few days and encountered a number of hurdles which raised a few questions and for which I'd appreciate some insight and advice. Note that I am posting here because they are not specifically haskelldb related.
I am using Cabal to install haskelldb, haskelldb-hsql, haskelldb-hsql- mysql (and others) and discovered that the packages available on hackage do not build properly with ghc 6.10.1. The typical error being of the following kind:
I don't think the haskelldb-* packages have been updated for ghc-6.8.
Other searches in haskell cafe lead me to people advising to use HDBC instead, after which I contemplated suicide for a few seconds before coming back to my senses and cabal-installing haskelldb-hdbc which quickly led me to error messages of the exact same kind mentioned above. Strangely enough, hdbc 1.1.5 itself installs quite fine using Cabal, however, haskell-hdbc insists on depending on version 1.0.1.
That's because the haskelldb-hdbc depends on exactly HDBC ==1.0.1 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskelldb-hdbc
I haven't been able so far to find what configuration file to modify in order for it to try to build with the latest Cabalized version (I admit I didn't search much).
If you want to update haskelldb-hdbc then just change the .cabal file to adjust the version constraints on the HDBC package and fix any issues arising from the update (eg api changes). I'm sure the maintainers would appreciate your patches since they seem not to have any time to do the updates themselves.
Pursuing any further would seem to require to delve deeper in the intricacies of the Cabal system and fix either HSQL or HaskellDB-HDBC. Since I really want to use HaskellDB I'll probably try these avenues, but I would appreciate comments at this point from persons knowledgeable in the evocated areas:
Are the databases interface for haskelldb still officially maintained and where is this information available ?
I would guess not. The .cabal file lists haskelldb-users@lists.sourceforge.net as the maintainer. You might check the archives for signs of activity or send an email there.
Is the information that this and that package are compatible (or not) with ghc 6.8.x or 6.10.1 available somewhere without compiling first hand the packages ?
Yes. On the package page it lists build failures for ghc-6.8 and 6.10
It would be immensely valuable to the haskell newcomer to have the incompatible packages signaled on http://hackage.haskell.org/packages/archive/pkg-list.html for example.
I hope we can do that in future. At the moment the build results are not sufficiently reliable to advertise them that prominently. It's also complicated by the fact that packages may build on some platforms and not others.
What would you recommend at this point : fix hsql, or haskelldb-hdbc so it uses 1.1.5 instead of 1.1, try an alternative to haskelldb (are there any ?) ?
If you need the high level api provided by haskelldb then yes fix it. If not then just use HDBC directly. Duncan

Hi Duncan, thanks a lot for your answers.
however, haskell-hdbc insists on depending on version 1.0.1.
That's because the haskelldb-hdbc depends on exactly HDBC ==1.0.1
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskelldb-hdbc
I haven't been able so far to find what configuration file to modify in order for it to try to build with the latest Cabalized version (I admit I didn't search much).
If you want to update haskelldb-hdbc then just change the .cabal file to adjust the version constraints on the HDBC package and fix any issues arising from the update (eg api changes).
Yes, I finally found that setting and tried to build it against hdbc-1.1.5 : it fails and fixing this code is far above my current capabilities so I wouldn't be able to update it myself yet. This being said, I have found this http://darcs.haskell.org/haskelldb/driver-hdbc/haskelldb-hdbc.cabal which would tend to indicate that someone has already updated haskelldb-hdbc to hdbc 1.1.4+. I assume the person(s) who did these changes has(have) not been able to push them into hackage yet. I'll be trying to work with it. If I can get something out of it, I'll try to contact the last patches authors and discuss pushing that version to hackage.
I'm sure the maintainers would appreciate your patches since they seem not to have any time to do the updates themselves.
I certainly understand that, I will make any patches of mine public as soon as I get something to work.
Are the databases interface for haskelldb still officially maintained and where is this information available ?
I would guess not. The .cabal file lists haskelldb-users@lists.sourceforge.net as the maintainer. You might check the archives for signs of activity or send an email there.
I have subscribed to the list which seems utterly desert, I haven't contacted any past author though yet but will do so.
Is the information that this and that package are compatible (or not) with ghc 6.8.x or 6.10.1 available somewhere without compiling first hand the packages ?
Yes. On the package page it lists build failures for ghc-6.8 and 6.10
Yes, thanks, I noticed that a few minutes after posting my initial mail :)
What would you recommend at this point : fix hsql, or haskelldb-hdbc so it uses 1.1.5 instead of 1.1, try an alternative to haskelldb (are there any ?) ?
If you need the high level api provided by haskelldb then yes fix it. If not then just use HDBC directly.
I will be trying the aforementioned "updated" version first, if it doesn't work, I'll definitely fix the existing one if that doesn't imply more than newbie level haskell skills. The high level API and type safety provided by haskelldb are the reason why I want to experiment with it. My company has just begun to use the C# Entity Framework which notably allows C# programs to manipulate databases using LINQ constructs, and the comparison with haskelldb will probably be very interesting. I have no doubt that the environment provided by Microsoft is much more advanced and complete than what haskelldb can currently provide, yet I have hope that this will lead people here to at least keep an eye on haskell capabilities. Thanks again for your anwsers ! Regards, Laurent
participants (2)
-
Duncan Coutts
-
Laurent Giroud