[Haskell-cafe] Unix emulation

Andrew Coppin andrewcoppin at btinternet.com
Sun Aug 22 12:43:55 EDT 2010


Felipe Lessa wrote:
> Hello!
>
> I take it that the problem is that libcurl is a C library with a
> Unix-like build system, and that is the problem that needs Cygwin,
> right?
>   

No.

It's completely possible to download a pre-built binary for libcurl (or 
just about any other OSS library, for that matter). The problem is that 
the Haskell "curl" package expects to just run autoconf and this will 
actually work. Naturally, on Windows it just complains that no such 
command exists and dies. (Actually, cabal-install is smart enough to 
detect this situation and exit gracefully, explaining what the problem 
is in a sane mannar. It still won't build it though.) Similar problems 
with Haskell packages that expect to be able to use Make, Bash scripts, 
run Awk and so forth. These tools do not exist on Windows. (Unless you 
install MSYS / MinGW.)

> I'm not a Windows expert, but having C code is perfectly fine, I
> guess.  My 'hipmunk' library includes a whole C library.  When I tried
> to 'cabal install' it on Windows, it worked flawlessly even if I never
> really did develop it for Windows.
>   

Oh, if you just want to install a library which _includes_ C code, 
that's usually fine. The problem is if you want to access an external C 
library. Cabal can't find the header files, can't run autoconf, and 
general chaos ensues.

> Given that the problem is building libcurl, and not the Haskell curl
> package, won't a binary distribution of libcurl cut it?

Like I say, that part isn't the problem.



More information about the Haskell-Cafe mailing list