curl dependency in conjunction with Template Haskell causes "unknown symbol" errors
I've reported on this issue to the stack issue tracker here https://github.com/commercialhaskell/stack/issues/2752#issuecomment-257378515
The steps to reproduce are the following
- Make a new stack project (lts-5.3 in my case). stack new curl-test -resolver=lts-5,3
- Add curl as a dependency to the library.
- Modify the Lib file to the following
{-# LANGUAGE TemplateHaskell #-}
module Lib where
return []
someFunc :: IO ()
someFunc = return ()
The error that I get with GHC 8 is this
ghc.EXE: unable to load package `curl-1.3.8'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `stricmp'
ghc.EXE: Could not on-demand load symbol 'curl_strequal'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `curl_strequal'
ghc.EXE: Could not on-demand load symbol '.refptr.Curl_cstrdup'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `.refptr.Curl_cstrdup'
ghc.EXE: Could not on-demand load symbol 'curl_slist_free_all'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `curl_slist_free_all'
ghc.EXE: Could not on-demand load symbol 'Curl_ssl_connect_nonblocking'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `Curl_ssl_connect_nonblocking'
ghc.EXE: Could not on-demand load symbol '.refptr.Curl_crealloc'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `.refptr.Curl_crealloc'
ghc.EXE: Could not on-demand load symbol 'curl_msnprintf'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `curl_msnprintf'
ghc.EXE: Could not on-demand load symbol '.refptr.Curl_cmalloc'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `.refptr.Curl_cmalloc'
ghc.EXE: Could not on-demand load symbol 'Curl_verify_windows_version'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `Curl_verify_windows_version'
ghc.EXE: Could not on-demand load symbol 'Curl_sspi_global_init'
ghc.EXE: C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib\libcurl.a: unknown symbol `Curl_sspi_global_init'
ghc.EXE: Could not on-demand load symbol 'curl_global_init'
ghc.EXE: C:\sr\snapshots\df48cbae\lib\x86_64-windows-ghc-8.0.1\curl-1.3.8-B8AxMCtSRkiFrZLK4gerBe\HScurl-1.3.8-B8AxMCtSRkiFrZLK4gerBe.o: unknown symbol `curl_global_init'
but this still fails with GHC 7.10.3 with a similar error.
This is happening on two Windows 10 machines so it's not an isolated case.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.0.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown/Multiple |
| Architecture |