Re: [nhc-bugs] Re: problems installing nhc98-1.04 on cygwin

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

| > 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?). | | 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;-). Aha. I was always puzzled by that. | But as we use time | profiling when our programs seem to go to sleep (zzzz...), that suffix | seems appropriate. I have not heard any objections fro elsewhere, so I think we'll settle on z. | - The tar-file still seems (not) to contain a spurious file: | tar: nhc98-1.04/src/prelude/Numeric/Makefile?: Could not create file: Ok, it seems I still failed to remove this spurious `Makefile?' from the tree I use to prepare the distribution. It is now removed, and future distribution packages will not contain it. | - There seems to be a disagreement about the order in which libraries | are processed during linking. | .... | 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 Yes, I guess this looks a little strange - but it works here. Are you saying it doesn't work in Cygwin? Nevertheless, you are right, we ought to change it. | 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? We do not support any operation called addFinalizer. However, we do have FFI.newForeignObj :: FFI.Addr -> IO () -> IO FFI.ForeignObj Is this sufficient for your purposes? Regards, Malcolm
participants (2)
-
C.Reinke
-
Malcolm Wallace