agentm / project-m36

Project: M36 Relational Algebra Engine
The Unlicense
876 stars 47 forks source link

GHC 8.4 on Windows build error reported #219

Closed agentm closed 5 years ago

agentm commented 5 years ago

Cinead in IRC reports that project-m36 fails to build and link using stack + GHC 8.4.

https://pastebin.com/gBSgzgd0

Persist.hs line 69: dstPath is of type String, but Maybe String was expected.

agentm commented 5 years ago

The issue is that the second argument Win32.moveFileEx should be Maybe String as far back as the supported Win32 versions go. I'm not sure why the module compiles on Windows, but the fix is trivial.

agentm commented 5 years ago

This is frustrating. Win32 2.5.4.1 temporarily changed the signature of moveFileEx. 2.5.4.1 is in the 8.2 LTS. Newer versions restored the second argument to be Just String. I will add some preprocessor version checking.

agentm commented 5 years ago

Upon fixing the Win32 compilation issue, I promptly hit the linker "export ordinal too large" issue. It seems that GHC 8.4 adds many more symbols to the shared object files. I will need to find some way to trim them down.