I've just tried to fix that stub file problem on Win98 and now I'm even more confused: * Setting TMPDIR to a path with a drive letter works, no need to edit the Perl driver. Without a drive letter, Perl/Bash/Cygwin seems to forget the drive and/or the location of the tmp dir. * OK, so I've tried a simple HelloWorld app next, but failed immediately again: The resulting main.exe can't find HSSTD.DLL. Where is it searching? How can I find that out from an .exe? How can I set the DLL search path at compilation time? Things I definitely knew in the past, but happily forgot. * Cunningly I've tried -static then, but linking failed with: Main.o(.text+0x1c):fake: undefined reference to `_imp__PrelBase_unpackCStringzh_closure' Main.o(.text+0x20):fake: undefined reference to `_imp__PrelIO_putStrLn_closure' Main.o(.text+0x3a):fake: undefined reference to `_imp__stg_gc_enter_1' Main.o(.text+0x3f):fake: undefined reference to `_imp__upd_frame_info' Main.o(.text+0x66):fake: undefined reference to `_imp__PrelBase_unpackCStringzh_closure' Main.o(.text+0x8e):fake: undefined reference to `_imp__stg_gc_enter_1' Main.o(.text+0x93):fake: undefined reference to `_imp__CAF_BLACKHOLE_info' Main.o(.text+0x9b):fake: undefined reference to `_imp__IND_STATIC_info' Main.o(.text+0xb1):fake: undefined reference to `_imp__upd_frame_info' Main.o(.text+0xd9):fake: undefined reference to `_imp__PrelIO_putStrLn_closure' collect2: ld returned 1 exit status At least Cygwin didn't crash my Win98 box, which it easily does after emitting some obscure error messages when -split-objs is given to GHC for large files. I forgot the exact text of the messages, but cut'n'paste is a little bit hard when your box is thrashing and about to die in the next 3 seconds. Although I'd really like to make a compatibility release for HOpenGL, personally I declare Windows deprecated for now and switch back to Diablo II... Frustrated, Sven