Re: [Haskell-cafe] Unix emulation

2010-08-23 Thread Stephen Tetley
On 23 August 2010 06:12, Erik de Castro Lopo mle...@mega-nerd.com wrote:

 I'm going to be a bit of a heretic here and suggest that you attack
 this problem from the other end. How you ask?

 Install Debian Testing/Unstable with Wine in a VM and cross compile
 to Windows.


No - that's a completely azzback solution.

MinGW / MSYS works fine, the problem is solely that the documentation
of the install procedure has gone awry, with conflicting and seemingly
out of date guides on the mingw.org website.

The best solution would be to sign up to the mingw-user mailing list
and ask what the currently preferred method is for installing.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Andrew Coppin

gdwe...@iue.edu wrote:

I will try my hand at building a Windows binary for Sifflet
and making it available for folks to download.
  


I too was going to have a go at this. I had a Windows VM (so I don't 
ruin my *real* Windows box) and I was going to set up all the junk which 
is apparently necessary to make C bindings build. And then I was going 
to build all the libraries I want but can't have, package them up into 
nice little installers with NSIS, and make the binary installers 
available for each version of the Haskell Platform.


But, as I say, I utterly failed to make MinGW and MSYS actually work. I 
never got as far as installing HP at all!



I have recently acquired a Windows 7 system, partly for this very purpose.
It's a guest host under Linux/KVM, and I think it's 32-bit Windows
so it'll be a 32-bit binary, although my hardware is x86_64.
Will that be okay?
  


Better than nothing, I'd imagine. In fact, I'm not actually sure whether 
there *is* a 64-bit edition of GHC itself... Anybody know?



I haven't done *anything* with Haskell on Windows yet!
So the first step will be installing the Haskell Platform,
which I hope will go smoothly, but the rest might take some
time, if I succeed at all.
  


HP installs under Windows just fine from what I've seen. I know GHC used 
to have an issue where only the current user's search path is updated, 
not the global one; I haven't tested whether HP does this. (Makes it fun 
if you have to log in as admin to install things; then only admin can 
run GHC!)


I was surprised and pleased to discover that HP now contains zlib. (And 
it works!) I was surprised and disappointed to discover that they're 
planning to remote OpenGL support from HP. Presumably it's impossible to 
build from source if you want it, so there goes the end of that!


Until now, I've held off using HP because Gtk2hs won't work with it. 
With the new Cabalised, Windows-buildable Gtk2hs, I believe this is no 
longer an issue. So maybe I'll finally update my main work machine to HP.



Other options seem to be:
-   Asking for curl and hxt to be included in the Haskell Platform
-   Asking the author of hxt to split it into parts that do and do not
depend on curl.
But either of these would also probably take some time, if they
are approved at all.
  


Just including Curl in HP would presumably fix the problem. (I have a 
vague recollection that the Hackage Darcs package secretly requires 
libcurl, but doesn't actually depend on the Haskell curl package...) 
It's probably generally useful enough that it could be considered.


Alternatively, make it possible to build C bindings on Windows. Yeah, 
don't hold your breath!



So, don't hold your breath, Andrew, but I'll try.
  


Good luck... ;-)

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Stephen Tetley
Andrew, I was going to chastise you for being the only Windows
developer who has problems with MinGW / MSYS and spreading that
unpleasant internet commodity FUD. However, I've just gone back to
mingw.org and its gone from somewhat confusing circa the last time I
installed (Christmas 2009) to frankly abysmal. So while is was easy
to install MinGW / MSys a year ago I'll willing concede that it is
difficult now.

[A side issue - anyone who thinks socializing Hackage is a good idea
should pay mingw.org a visit...]

I followed this guide the last time I installed:

http://www.mingw.org/faq/How_do_I_install_MSYS

Having a slightly out-of-date installation shouldn't be a problem for
Haskell development.

Another side issue, commentators seem to be point to be pointing to
TDM-GCC for a sanely packaged version of MinGW, but it isn't
accompanied by MSys so wouldn't work for Haskell development.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Felipe Lessa
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?

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.

Given that the problem is building libcurl, and not the Haskell curl
package, won't a binary distribution of libcurl cut it?  I was
thinking of [1], where there is an installer for libcurl.

http://curl.haxx.se/download.html#Win32

Cheers! =)

-- 
Felipe.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Stephen Tetley
On 22 August 2010 13:48, Felipe Lessa felipe.le...@gmail.com wrote:

 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 - generally you don't want to compile bindings with Cygwin,
compiling with Cygwin brings in dependencies on cygwin1.dll which
doesn't work well with GHC.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Martin DeMello
On Sun, Aug 22, 2010 at 5:04 PM, Stephen Tetley
stephen.tet...@gmail.com wrote:
 Andrew, I was going to chastise you for being the only Windows
 developer who has problems with MinGW / MSYS and spreading that
 unpleasant internet commodity FUD. However, I've just gone back to
 mingw.org and its gone from somewhat confusing circa the last time I
 installed (Christmas 2009) to frankly abysmal. So while is was easy
 to install MinGW / MSys a year ago I'll willing concede that it is
 difficult now.

Agreed. I tried to set up an msys development environment to compile
chicken scheme a couple of weeks ago, and, quite frankly, gave up. I
settled for installing mingw and putting the mingw bin directory first
in my cygwin path. This worked very well indeed, even though it isn't
an officially supported chicken build environment, so it's worth
experimenting with for haskell as well. (Note that it needs a reboot
of windows after setting up the cygwin environment variables; I never
figured out why).

martin
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Tillmann Rendel

Felipe Lessa wrote:

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?


One needs a compiler and libraries on the one hand, and a bunch of 
command-line tools on the other hand. On Windows, MinGW provides the 
former, while Cygwin provides a package manager to install the latter.


MinGW seems to be bundled with the Haskell platform on Windows, so that 
should be ok.


The Cygwin tools however have to be installed in addition to the Haskell 
platform, which is no big deal, but somewhat annoying. There are two 
steps to be done:


 (1) Install the core of Cygwin, and put it in the search path after
 the MinGW bundled with the Haskell platform.

 (2) If a cabal package fails to install because some tools (bash, perl,
 sed, make, ...) are missing, install the missing tool using the
 Cygwin package manager.

So a cabal package is better suited for installation on Windows if it 
does not depend on any command-line tools for building (or operation, of 
course). In practice, that means that a portable Setup.hs should contain 
Haskell code, not system calls to command-line tools.


  Tillmann
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Andrew Coppin

Stephen Tetley wrote:

Andrew, I was going to chastise you for being the only Windows
developer who has problems with MinGW / MSYS and spreading that
unpleasant internet commodity FUD. However, I've just gone back to
mingw.org and its gone from somewhat confusing circa the last time I
installed (Christmas 2009) to frankly abysmal. So while is was easy
to install MinGW / MSys a year ago I'll willing concede that it is
difficult now.

[A side issue - anyone who thinks socializing Hackage is a good idea
should pay mingw.org a visit...]

I followed this guide the last time I installed:

http://www.mingw.org/faq/How_do_I_install_MSYS

Having a slightly out-of-date installation shouldn't be a problem for
Haskell development.
  


Well, part of the issue is that it just annoys me as a matter of 
principle that I have to install a *Unix* emulator in order to write 
*Windows* software. What's up with that?


But anyway, as I say, I figured I could just install the emulator on a 
VM, build the libraries once, and then use the binaries anywhere. 
Unfortunately, I was eventually forced to give up after trying to 
install MSYS / MinGW. You'd think you could just download a file and 
unzip it, or maybe run an installer... but no. That would be far too easy.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Stephen Tetley
On 22 August 2010 16:56, Tillmann Rendel
ren...@mathematik.uni-marburg.de wrote:

 One needs a compiler and libraries on the one hand, and a bunch of
 command-line tools on the other hand. On Windows, MinGW provides the former,
 while Cygwin provides a package manager to install the latter.


Its not ideal to use MinGW with Cgywin. For Haskell development, you
want to be linking to C libraries compiled with MinGW's GCC.

You can use Cygwin, and cross compile with MinGW's GCC, but this is
likely to be more tiresome than using MSys and makes a problem for
every compile and build - as you are cross compiling you can't just
./configure  make  make install. Whereas MSys just has the initial
problem that it no longer has a comprehensible install plan.

The hyperbole in my original message was somewhat tongue-in-cheek, but
there's a fair amount of truth in it - MinGW / MSys is a very good
system, its sad that it is in such a crazy state at the moment. MSys
has all the tools (bash, perl, make, autoconf) needed for compiling
and excepting the installer situation, it is very stable.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Andrew Coppin

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.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Erik de Castro Lopo
Andrew Coppin wrote:

 Well, part of the issue is that it just annoys me as a matter of 
 principle that I have to install a *Unix* emulator in order to write 
 *Windows* software. What's up with that?

You've actually got that a bit backwards. GHC, Curl and all the
other things you are complaining about are all pieces of software
that started life on Unix and just so happen to be able to (if
you're luck) compile on windows.

What you need is not a Unix emaulator, but the build tools that
are used on Unix but on windows.

Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation

2010-08-22 Thread Erik de Castro Lopo
Andrew Coppin wrote:

 I too was going to have a go at this. I had a Windows VM (so I don't 
 ruin my *real* Windows box) and I was going to set up all the junk which 
 is apparently necessary to make C bindings build. And then I was going 
 to build all the libraries I want but can't have, package them up into 
 nice little installers with NSIS, and make the binary installers 
 available for each version of the Haskell Platform.
 
 But, as I say, I utterly failed to make MinGW and MSYS actually work. I 
 never got as far as installing HP at all!

I'm going to be a bit of a heretic here and suggest that you attack
this problem from the other end. How you ask?

Install Debian Testing/Unstable with Wine in a VM and cross compile
to Windows.

For C libraries that originate on Unix, cross compiling them on
from Linux - Windows is often easier than getting them to compile
on Windows.

For the Haskell stuff, install the windows version of GHC using
Wine (I messed with this a bit and it worked like a charm).

Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unix emulation [ANNOUNCE: Sifflet visual programming language, release 1.0!]

2010-08-21 Thread gdweber
Thanks to both Stephen Tetley
and Henk-Jan van Tuyl for pointing them out those pages on
installing curl and, in general, Unixy software, on Windows.
Both looked rather cryptic to me also, although I did not try them out.

I will try my hand at building a Windows binary for Sifflet
and making it available for folks to download.
I have recently acquired a Windows 7 system, partly for this very purpose.
It's a guest host under Linux/KVM, and I think it's 32-bit Windows
so it'll be a 32-bit binary, although my hardware is x86_64.
Will that be okay?

I haven't done *anything* with Haskell on Windows yet!
So the first step will be installing the Haskell Platform,
which I hope will go smoothly, but the rest might take some
time, if I succeed at all.

Other options seem to be:
-   Asking for curl and hxt to be included in the Haskell Platform
-   Asking the author of hxt to split it into parts that do and do not
depend on curl.
But either of these would also probably take some time, if they
are approved at all.

So, don't hold your breath, Andrew, but I'll try.

* http://haskell.forkio.com/Home/curl-win32
  http://www.haskell.org/haskellwiki/Windows#Tools_for_compilation

Greg

On 2010-Aug-20, Andrew Coppin wrote:
 Henk-Jan van Tuyl wrote:
 Curl compiles without problems on my Windows XP system. There is a
 HaskellWiki page [0] that describes how to compile packages with
 Unix scripts on Windows systems.
 
 I did once try setting up MinGW and MSYS, just to see if I could
 make it work. But after many, many hours of trying to comprehend the
 terse documentation, I finally gave up. It's just too hard to get it
 to work. (I never even got as far as *trying* to build anything; I
 just couldn't install the tools.)
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

-- 
   ___   ___  __ _  
  / _ \ / _ \| || | Gregory D. Weber, Associate Professor
 / /_\// / | | | /\ | | Indiana University East
/ /_\\/ /__| | |/  \| | http://mypage.iu.edu/~gdweber/
\/\_/\___/\__/  Tel. (765) 973-8420; FAX (765) 973-8550
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Unix emulation [ANNOUNCE: Sifflet visual programming language, release 1.0!]

2010-08-20 Thread Andrew Coppin

Henk-Jan van Tuyl wrote:
Curl compiles without problems on my Windows XP system. There is a 
HaskellWiki page [0] that describes how to compile packages with Unix 
scripts on Windows systems.


I did once try setting up MinGW and MSYS, just to see if I could make it 
work. But after many, many hours of trying to comprehend the terse 
documentation, I finally gave up. It's just too hard to get it to work. 
(I never even got as far as *trying* to build anything; I just couldn't 
install the tools.)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe