Windows: Dynamic linking doesn't work out-of-the-box
I did this:
- Download and install GHC 7.0.1
- Compile
HelloWorld.hs
with the "-dynamic" flag. - Run the resulting binary.
When I run the program, I get a dialog box telling me that the program can't find the RTS DLL.
If I move the necessary DLLs to somewhere in the search path, the binary runs just fine. The bug is that the Windows installer for GHC does not do this itself.
(I've classified this bug as "runtime system", but really it's an installer bug, not an RTS bug.)
Related to this are two complications:
- The documentation fails to describe how GHC tries to find dynamic libraries on Windows. (Section 4.12.4 of the User Guide only explains how this is done for Unix and Mac OS.)
- The DLLs are scattered all over the place. If they were all in one folder, I could just add that to the search path. But they aren't.