Meurig Sage writes:
>  I tried the win32 library on Window 95 this time with hugs971106. (I
> downloaded hugs32.zip)
> I'm still getting the same problem:
> 
> C:\Hugs\lib\win32\StdDIS.hs: Error while importing DLL
> "C:\Hugs\lib\win32\StdDIS.dll"

Looking at StdDIS.dll, I see that it references "MSVCRT.dll"
and "KERNEL32.dll".  

I think that kernel32 is standard across all Win32 platforms but
MSVCRT (the MS Visual C++ runtime) is presumably part of Visual C++
which I have installed on my machine but, I guess, you don't.

Fixes:

1) Get hold of a copy of msvcrt.dll from Sigbjorn (or any other
   Glasgow folks with Visual C++) - this'll get you going
   (and will test the theory) but doesn't help anyone else.

2) Include msvcrt.dll in the distribution.
   I'll need to check the license to see if we're allowed to do this
   - but I'd be surprised if it wasn't allowed.

   This is a pain in the neck - a compressed copy of msvcrt is 137 kBytes.
   We're already over the 1 floppy disk threshold for the installshield
   distribution - this'll probably push us over the limit on the 
   other binary distributions too.  We can probably fix this by omitting
   some optional files like the haskell tutorial html...

   This cost could be reduced by dynamically linking Hugs itself - making
   hugs.exe and runhugs.exe smaller.  But that probably has complications
   of its own.

3) Statically link all the win32-related dlls with msvcrt.

   This too is a pain in the neck - every dll will end up with its
   own personal copy of malloc, free, etc.

   This could be avoided by gluing all the Win32 modules together
   into a single giant module - but I rather like the idea that you only
   pay for what you use.

4) Stick a copy of msvcrt.dll on our web page for people to download if
   they need it.  (Again, subject to checking whether the license lets us.)

   Not a good idea for the installshield distribution (which is meant to
   require a minimal amount of effort or knowledge about your system)
   but it could work for the hugs32.zip distribution.  I'm not enthusiastic
   though...

Can you try option 1 for now and I'll investigate option 3.
(I'll also look into improving the error message.)

Alastair


Reply via email to