[nhc-bugs] Re: problems installing nhc98-1.04 on cygwin
C.Reinke
C.Reinke@ukc.ac.uk
Tue, 29 May 2001 15:37:57 +0100
Hi Malcolm,
[Win32 fun with case-sensitive filenames deleted]
> > In case you can't imagine this kind of silly behaviour, and just to
> > confirm that I'm not hallucinating and that the FAQ is not simply out
> > of date, here is an example ...
>
> Ok, ok, I believe you. So you know already what the fix for this
> bug is - get a /real/ operating system, not a toy! :-)
Hmm, standard disclaimers aside, NT4 was getting so close to a really
operating system that I still have some hope that its successors might
some day reach the quality of its *nixish predecessors..
Moreover, cygwin took on a red hat a while ago, and cygwin on NT is not
a bad compromise (in this particular case, if you followed the
reference I gave, cases are preserved in the file system, but too many
windows tools don't know what to do with them, so the cygwin developers
considered it too dangerous to encourage case-sensitive file names).
Still, I was afraid of spreading misinformation when I first saw those
comments, hence all the references and experiments:-)
> Ok, I think you have persuaded us to use one different suffix.
> We are currently thinking of changing 't' (for time profiling) to 'z'
> in your honour. (For 'zeit', or perhaps for your middle name Claus?).
Thank you, your honour.
I'm not aware of having a middle name (a certain cs-support team at
an unnamed English university was once unable to cope with this idea
and decided to add a z to my then-email-address;-). But as we use time
profiling when our programs seem to go to sleep (zzzz...), that suffix
seems appropriate.
Back to bugs:
- The tar-file still seems (not) to contain a spurious file:
$ tar xvzf //e/archive/software/nhc98src-1.04.tar.gz >tar.log
tar: nhc98-1.04/src/prelude/Numeric/Makefile?: Could not create file:
No such file or directory
tar: Error exit delayed from previous errors
- There seems to be a disagreement about the order in which libraries
are processed during linking. Old gcc man page says:
" The linker handles an archive file by scanning through it
for members which define symbols that have so far been
referenced but not defined. "
In other words, adding -lncurses as *the very first flag* in a
call to gcc ain't going to help anyone. In src/tracer/hat/Makefile:
LINKFLAGS= -lncurses -g
This is used just after $(CC) in the targets.. Two of the targets
also use a variable $(ncurses), which doesn't seem to be defined.
Suggested fix (seems to work for me):
- define ncurses as -lncurses (and remove -lncurses from LINKFLAGS)
- add $(ncurses) to end of hat-detect target
- for consistency, NCURSES would make more sense
And finally, a question:
I was under the impression that nhc supported addFinalizer, but I can't
seem to find it anywhere. Is it supported, and if so, where do I find it?
Cheers,
Claus