Hat hasn't installed properly

Something's up with hat-2.05 on my system. It hasn't installed its package correctly. ./configure, make, sudo make install reported no errors, but trying to build using 'hmake -hat' produces this error: hat-trans goodFib.hs Creating directories Hat Wrote Hat/goodFib.hs ghc -c -package hat -o Hat/goodFib.o Hat/goodFib.hs ghc-6.6: unknown package: hat Running ghc-pkg list reveals that no such package is installed: LappyBob:~/Documents/Work/Hat test cases/goodFib tatd2$ ghc-pkg list /usr/local/lib/ghc-6.6/package.conf: Cabal-1.1.6, GLUT-2.0, HGL-3.1, HUnit-1.1, OpenGL-2.1, QuickCheck-1.0, X11-1.1, base-2.0, cgi-2006.9.6, fgl-5.2, (ghc-6.6), haskell-src-1.0, haskell98-1.0, html-1.0, mtl-1.0, network-2.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, time-1.0, unix-1.0, xhtml-2006.9.13 Any ideas why the package isn't getting installed correctly? Bob

Thomas Davie
Something's up with hat-2.05 on my system. It hasn't installed its package correctly. ./configure, make, sudo make install reported no errors, but trying to build using 'hmake -hat' produces this error:
ghc-6.6: unknown package: hat
I don't know why the hat package is not installed on your system. But I did find some packaging errors that mean, even it hat was installed, it would not work with ghc-6.6. Essentially, ghc now needs to know both the package name _and version_ when building the library, otherwise the linker gets confused and can't resolve names. I've pushed a fix to the darcs repo, and will probably re-roll the 2.05 distribution as well. Regards, Malcolm

The reason that the package is not there I have discovered is that ghc-pkg register quits out because libHShat.a does not exist. Putting that in the appropriate place causes ghc-pkg register to work, but then you get errors because the hat-libs aren't in the right places. I'm not quite sure where the hat libs should be going. Bob On 3 Nov 2006, at 16:22, Malcolm Wallace wrote:
Thomas Davie
wrote: Something's up with hat-2.05 on my system. It hasn't installed its package correctly. ./configure, make, sudo make install reported no errors, but trying to build using 'hmake -hat' produces this error:
ghc-6.6: unknown package: hat
I don't know why the hat package is not installed on your system. But I did find some packaging errors that mean, even it hat was installed, it would not work with ghc-6.6.
Essentially, ghc now needs to know both the package name _and version_ when building the library, otherwise the linker gets confused and can't resolve names. I've pushed a fix to the darcs repo, and will probably re-roll the 2.05 distribution as well.
Regards, Malcolm _______________________________________________ Hat mailing list Hat@haskell.org http://www.haskell.org/mailman/listinfo/hat

Further update to this - the latest patch did not succed with fixing at least my complaint. Where exactly should the various hi files get copied to? Where in the install script is the code that should do this? Bob On 3 Nov 2006, at 16:43, Thomas Davie wrote:
The reason that the package is not there I have discovered is that ghc-pkg register quits out because libHShat.a does not exist. Putting that in the appropriate place causes ghc-pkg register to work, but then you get errors because the hat-libs aren't in the right places.
I'm not quite sure where the hat libs should be going.
Bob
On 3 Nov 2006, at 16:22, Malcolm Wallace wrote:
Thomas Davie
wrote: Something's up with hat-2.05 on my system. It hasn't installed its package correctly. ./configure, make, sudo make install reported no errors, but trying to build using 'hmake -hat' produces this error:
ghc-6.6: unknown package: hat
I don't know why the hat package is not installed on your system. But I did find some packaging errors that mean, even it hat was installed, it would not work with ghc-6.6.
Essentially, ghc now needs to know both the package name _and version_ when building the library, otherwise the linker gets confused and can't resolve names. I've pushed a fix to the darcs repo, and will probably re-roll the 2.05 distribution as well.
Regards, Malcolm _______________________________________________ Hat mailing list Hat@haskell.org http://www.haskell.org/mailman/listinfo/hat
_______________________________________________ Hat mailing list Hat@haskell.org http://www.haskell.org/mailman/listinfo/hat

Thomas Davie
Further update to this - the latest patch did not succed with fixing at least my complaint. Where exactly should the various hi files get copied to? Where in the install script is the code that should do this?
script/confhat does all copying of files, and calls ghc-pkg to register the library package. Regards, Malcolm

On 3 Nov 2006, at 17:35, Malcolm Wallace wrote:
Thomas Davie
wrote: Further update to this - the latest patch did not succed with fixing at least my complaint. Where exactly should the various hi files get copied to? Where in the install script is the code that should do this?
script/confhat does all copying of files, and calls ghc-pkg to register the library package.
That file never appears to try to copy anything to /usr/local/lib/ ghc-6.6/imports/Hat (which is where I would expect hi files to end up) or /usr/local/lib/ghc-6.6/ (which is where I'd expect libHShat.a to end up, and why ghc-pkg register fails)... Should it do this? Have I got an odd copy? Bob

Thomas Davie
That file never appears to try to copy anything to /usr/local/lib/ ghc-6.6/imports/Hat (which is where I would expect hi files to end up) or /usr/local/lib/ghc-6.6/ (which is where I'd expect libHShat.a to end up, and why ghc-pkg register fails)...
The libHShat.a library ends up in $DESTDIR$PREFIX/lib/hat-$HATVERSION/$MACHINE/ghc-$GHCSYM which should resolve in your case to /usr/local/lib/hat-2.05/x86-darwin/ghc-6.6/ and the interface files should go in $DESTDIR$PREFIX/imports/hat-$HATVERSION/ghc-$GHCSYM which again should resolve to /usr/local/imports/hat-2.05/ghc-6.6 These locations are then written into the hat-package.conf file, and ghc-pkg register is called using that file as input. I'm not sure how it can go wrong, unless for some reason your version of GHC is being detected wrongly as < 6.4. Regards, Malcolm

On 6 Nov 2006, at 11:57, Malcolm Wallace wrote:
Thomas Davie
wrote: That file never appears to try to copy anything to /usr/local/lib/ ghc-6.6/imports/Hat (which is where I would expect hi files to end up) or /usr/local/lib/ghc-6.6/ (which is where I'd expect libHShat.a to end up, and why ghc-pkg register fails)...
The libHShat.a library ends up in $DESTDIR$PREFIX/lib/hat-$HATVERSION/$MACHINE/ghc-$GHCSYM which should resolve in your case to /usr/local/lib/hat-2.05/x86-darwin/ghc-6.6/ and the interface files should go in $DESTDIR$PREFIX/imports/hat-$HATVERSION/ghc-$GHCSYM which again should resolve to /usr/local/imports/hat-2.05/ghc-6.6
Malcolm - problem solved! I'd missed one file on adding executable bits after the darcs get. Perhaps this needs a small script to set the permissions correctly after a get? Bob

Doh! Bob On 6 Nov 2006, at 14:04, Malcolm Wallace wrote:
Thomas Davie
wrote: Malcolm - problem solved! I'd missed one file on adding executable bits after the darcs get. Perhaps this needs a small script to set the permissions correctly after a get?
You mean like sh start :-)
Regards, Malcolm _______________________________________________ Hat mailing list Hat@haskell.org http://www.haskell.org/mailman/listinfo/hat

It appears that the install script hasn't copied any of the hat-libs (none of the hi files, and not the .a file either). I'm wondering if it has got the wrong directory to copy the files to, but I can't figure out where the configures script actually does that install/copy. Bob On 3 Nov 2006, at 16:01, Thomas Davie wrote:
Something's up with hat-2.05 on my system. It hasn't installed its package correctly. ./configure, make, sudo make install reported no errors, but trying to build using 'hmake -hat' produces this error:
hat-trans goodFib.hs Creating directories Hat Wrote Hat/goodFib.hs ghc -c -package hat -o Hat/goodFib.o Hat/goodFib.hs ghc-6.6: unknown package: hat
Running ghc-pkg list reveals that no such package is installed: LappyBob:~/Documents/Work/Hat test cases/goodFib tatd2$ ghc-pkg list /usr/local/lib/ghc-6.6/package.conf: Cabal-1.1.6, GLUT-2.0, HGL-3.1, HUnit-1.1, OpenGL-2.1, QuickCheck-1.0, X11-1.1, base-2.0, cgi-2006.9.6, fgl-5.2, (ghc-6.6), haskell-src-1.0, haskell98-1.0, html-1.0, mtl-1.0, network-2.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, time-1.0, unix-1.0, xhtml-2006.9.13
Any ideas why the package isn't getting installed correctly?
Bob _______________________________________________ Hat mailing list Hat@haskell.org http://www.haskell.org/mailman/listinfo/hat
participants (3)
-
Malcolm Wallace
-
Thomas Davie
-
Thomas Davie