[cvs-nhc98] Legacy question

Sven Panne Sven.Panne at aedion.de
Sun Jun 27 16:57:06 EDT 2004


Malcolm Wallace wrote:
> Sven Panne <Sven.Panne at aedion.de> 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.



More information about the Cvs-nhc98 mailing list