<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Hi all,<br><br>There is a minor problem with unix-compat module on Windows: when one tries to load it (or the module that depends on it) into GHCi, i.e. in REPL mode, - GHCi refuses to load unix-compat with a message like that:<br>

<br>ghc.exe: (skipped).cabal-sandbox\x86_64-windows-ghc-7.8.2\unix-compat-0.4.1.1\HSunix-compat-0.4.1.1.o: unknown symbol 'snprintf' ghc.exe: unable to load package 'unix-compat-0.4.1.1'<br><br>Note that it only concerns REPL mode: when GHC is building a binary that uses unix-compat, - it produces correct executable that works fine.<br>

<br>My hypothese is that this is because in typical Win32 build environment snprintf resides in libmingwex.a, which is static library, which GHCi is incapable of loading. Please correct me if I'm wrong.<br><br>There is a solution - to make unix-compat depend on MSVCRT.DLL (instead of static mingwex.a) and replace 'snprintf' with Microsoft's '_snprintf' (and there's also stat/_stat to be replaced). However this introduces at least new dependency on MSVCRT.DLL, and maybe something else, which might be unexpected.<br>

<br>Therefore, before accepting the solution into official codebase, it would be great to have an input - if anyone can foresee possible unintended side effects from suggested solution for code that depends on unix-compat module. <br>

<br>Corresponding pull request resides at <a href="https://github.com/jystic/unix-compat/pull/12/files" target="_blank">https://github.com/jystic/unix-compat/pull/12/files</a> - could you possibly take a look if you've got something to say on that issue.<br>

<br>Thank you in advance.<br></div>
</div><br></div>