
Malcolm Wallace wrote:
Sven Panne
writes: Hmmm, haskell.org claims that hbc 0.9999.5 implements Haskell 98, perhaps I should try to install it, supporting it would be nice then.
Well, the claim is just that, a claim. I'm running
$ hbc -v hbc Haskell98 version 0.9999.5b, 1999 Apr 02
but several of the standard libraries have foibles that require extra #ifdefs to fix for hbc. The build errors I'm getting at the moment are:
Errors: "PackageConfig.hs", line 0, [89] Bad import specifier for: hPutStrLn
... from the entirely reasonable line: import IO (hPutStrLn)
I've fixed that.
But also, more worryingly:
/grp/haskell/lib/lmlc-ix86-Linux/lib/runtime.o(.text+0x8653): In function `openfile': /home/guest/linux-LML/runtime/file.c:239: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
This one could be a mismatch due to upgrading Linux, which a re-compile of hbc might sort out. Except that I can no longer rebuild hbc.
This no real problem and vanishes indeed after the 2nd stage.
Here is a sample of the errors I get building from Magnus' snapshot of Feb 2003:
In file included from amp.h:3, from bignum.c:19: longlong.h:77:12: warning: multi-line string literals are deprecated longlong.h:83:12: warning: multi-line string literals are deprecated longlong.h:108:12: warning: multi-line string literals are deprecated
Fixed.
mv -f prelo/*.o . mv: cannot stat `prelo/*.o': No such file or directory
These are harmless, I think...
lib/lib_i.a(termcap_c.o)(.text+0x59): In function `MoveTo': /tmp/LML/lib/termcap_c.c:48: undefined reference to `tgoto' lib/lib_i.a(termcap_c.o)(.text+0x62):/tmp/LML/lib/termcap_c.c:48: undefined reference to `tputs' lib/lib_i.a(termcap_c.o)(.text+0xf3): In function `ClearScreen': /tmp/LML/lib/termcap_c.c:74: undefined reference to `tputs' lib/lib_i.a(termcap_c.o)(.text+0x11e): In function `Mytgetstr': /tmp/LML/lib/termcap_c.c:87: undefined reference to `tgetstr' lib/lib_i.a(termcap_c.o)(.text+0x17c): In function `GetTermCaps': /tmp/LML/lib/termcap_c.c:109: undefined reference to `tgetent' lib/lib_i.a(termcap_c.o)(.text+0x1df):/tmp/LML/lib/termcap_c.c:120: undefined reference to `tgetnum' lib/lib_i.a(termcap_c.o)(.text+0x1f0):/tmp/LML/lib/termcap_c.c:121: undefined reference to `tgetnum'
Fixed. Apart from those fixes above, there were quite a few small changes that had to be applied to Magnus' hbc snapshot. I've uploaded a new version to http://haskell.org/hbc/hbc-2004-06-27.src.tar.gz http://haskell.org/hbc/hbc-2004-06-27.bin-i386-linux.tar.gz The latter is a binary built on my SuSE Linux 9.1. Simon: I tried to update implementations.html on haskell.org, but it's mode is 644 and is owned by somebody I've never heard of. :-[ Could you change the mode to 664, please? This hbc snapshot can almost build nhc98, there are only a few glitches left during compilation of the hierarchical libraries. :-) Cheers, S.