
I want a _real_ cygwin version of darcs. The non-deterministic pseudo-cygwin *nix/Windows hybrid currently available has just too many problems integrating into cygwin, that I want to use as my TeXing and minor coding environment. A real cygwin version of darcs would seem to depend on a real cygwin version of GHC. Is there any easy way to compile one? Otherwise I may have to abandon darcs (and Haskell software in general) for Mercurial. (Thanks to the over-bearing cabal and resulting hsc2hs etc. build problems with conventional Makefiles, I have already pretty much already abandoned my own Haskell projects.) -- Stop Gnomes and other pests! Purchase Windows today!

tuomov:
I want a _real_ cygwin version of darcs. The non-deterministic pseudo-cygwin *nix/Windows hybrid currently available has just too many problems integrating into cygwin, that I want to use as my TeXing and minor coding environment. A real cygwin version of darcs would seem to depend on a real cygwin version of GHC. Is there any easy way to compile one? Otherwise I may have to abandon darcs (and Haskell software in general) for Mercurial.
(Thanks to the over-bearing cabal and resulting hsc2hs etc. build problems with conventional Makefiles, I have already pretty much already abandoned my own Haskell projects.)
"Here is a complete, from-scratch, log of all you need to build GHC using Cygwin, kindly provided by Claus Reinke. " http://hackage.haskell.org/trac/ghc/wiki/Building/Windows#AWindowsbuildlogus...

On 2009-03-08, Don Stewart
"Here is a complete, from-scratch, log of all you need to build GHC using Cygwin, kindly provided by Claus Reinke. "
http://hackage.haskell.org/trac/ghc/wiki/Building/Windows#AWindowsbuildlogus...
These appear to be instructions to build a Windows version _using Cygwin_. I wanted a _real_ Cygwin version of GHC that builds Cygwin binaries, providing Cygwin POSIX functionality, etc. -- In 1995, Linux was almost a bicycle; an alternative way of live to the Windows petrol beasts that had to be taken to the dealer for service. By 2008, Linux has bloated into a gas-guzzler, and local vendors and artisans have had to yield to "all under one roof" big box hypermarkets.

On Sun, Mar 08, 2009 at 08:24:34PM +0000, Tuomo Valkonen wrote:
On 2009-03-08, Don Stewart
wrote: "Here is a complete, from-scratch, log of all you need to build GHC using Cygwin, kindly provided by Claus Reinke. "
http://hackage.haskell.org/trac/ghc/wiki/Building/Windows#AWindowsbuildlogus...
These appear to be instructions to build a Windows version _using Cygwin_. I wanted a _real_ Cygwin version of GHC that builds Cygwin binaries, providing Cygwin POSIX functionality, etc.
if you follow those steps, but then don't override the host in the ./configure step to just let it pick up the cygwin environment will it work properly? John -- John Meacham - ⑆repetae.net⑆john⑈

On 2009-03-08, John Meacham
if you follow those steps, but then don't override the host in the ./configure step to just let it pick up the cygwin environment will it work properly?
John
No: Configuring extensible-exceptions-0.1.0.0... cabal-bin.exe: Cannot find the program 'ghc' at '/c/bin/ghc-6.10.1.20090308/bin/ghc' or on the path 'ldd libraries/cabal-bin.exe' finds no cygwin dependencies; everything points to /c/WINDOWS/system32. I presume that the mingw-ghc used the include mingw gcc, not cygwin's gcc. Indeed, I tried deleting that file, and got: ghc.exe: could not execute: C:\bin\ghc-6.10.1.20090308\gcc It doesn't seem like it will build cygwin programs. -- Stop Gnomes and other pests! Purchase Windows today!

Tuomo Valkonen wrote:
On 2009-03-08, John Meacham
wrote: if you follow those steps, but then don't override the host in the ./configure step to just let it pick up the cygwin environment will it work properly?
John
No:
Configuring extensible-exceptions-0.1.0.0... cabal-bin.exe: Cannot find the program 'ghc' at '/c/bin/ghc-6.10.1.20090308/bin/ghc' or on the path
'ldd libraries/cabal-bin.exe' finds no cygwin dependencies; everything points to /c/WINDOWS/system32. I presume that the mingw-ghc used the include mingw gcc, not cygwin's gcc. Indeed, I tried deleting that file, and got:
ghc.exe: could not execute: C:\bin\ghc-6.10.1.20090308\gcc
It doesn't seem like it will build cygwin programs.
There's no fundamental reason why there can't be a "real" Cygwin GHC (that is, a GHC producing binaries that are linked against the Cygwin DLL). Indeed it used to work, a long time ago. But due to lack of demand it bitrotted. I imagine it would be a fair amount of work to get it going again, but of greater concern to me is how we would *keep* it working: there needs to be interested people actively maintaining buildbots and catching bitrot as it happens. Without a sustainable process, there isn't a great deal of point in updating the port. Cheers, Simon

On Sun, Mar 08, 2009 at 11:46:07PM +0000, Tuomo Valkonen wrote:
No:
Configuring extensible-exceptions-0.1.0.0... cabal-bin.exe: Cannot find the program 'ghc' at '/c/bin/ghc-6.10.1.20090308/bin/ghc' or on the path
'ldd libraries/cabal-bin.exe' finds no cygwin dependencies; everything points to /c/WINDOWS/system32. I presume that the mingw-ghc used the include mingw gcc, not cygwin's gcc. Indeed, I tried deleting that file, and got:
ghc.exe: could not execute: C:\bin\ghc-6.10.1.20090308\gcc
It doesn't seem like it will build cygwin programs.
perhaps the most recent non-cabalized ghc build might be worth a try. I think darcs still compiles with ghc 6.6, but am not positive., I seem to remember ghc working on cygwin at some point. I have been in a similar position in the past actually in the odd place of developing linux/unix software while sitting at a windows box, and cygwin builds of tools were more useful in general. John -- John Meacham - ⑆repetae.net⑆john⑈

On 2009-03-09, John Meacham
perhaps the most recent non-cabalized ghc build might be worth a try. I think darcs still compiles with ghc 6.6, but am not positive.,
Mingw-bootstrap, source, or both?
remember ghc working on cygwin at some point. I have been in a similar position in the past actually in the odd place of developing linux/unix software while sitting at a windows box, and cygwin builds of tools were more useful in general.
I'm just planning on keeping the good bits of the *nix toolchain while switching to another OS from Linux (or *BSD) that keeps burying those pieces under layers upon layers of stinking and unreliable gnomeshit, and that suffers from de facto central control over software distribution. The only choice is Windows, because Apple is just too steve-jobs-knows-what-you-want, although would otherwise offer a better *nix environment. -- "[Fashion] is usually a form of ugliness so intolerable that we have to alter it every six months." -- Oscar Wilde "The computer industry is the only industry that is more fashion-driven than women's fashion." -- RMS

On 2009-03-09, Tuomo Valkonen
On 2009-03-09, John Meacham
wrote: perhaps the most recent non-cabalized ghc build might be worth a try. I think darcs still compiles with ghc 6.6, but am not positive.,
Mingw-bootstrap, source, or both?
Tried with both. Got: ghc.exe: unknown package: unix -- Be an early adopter! Beat the herd! Choose Windows today!

On 2009-03-09, Tuomo Valkonen
On 2009-03-09, Tuomo Valkonen
wrote: On 2009-03-09, John Meacham
wrote: perhaps the most recent non-cabalized ghc build might be worth a try. I think darcs still compiles with ghc 6.6, but am not positive.,
Mingw-bootstrap, source, or both?
Tried with both. Got:
ghc.exe: unknown package: unix
With './configure --build=i686-pc-cygwin32 --with-gcc=c:/cygwin/bin/gcc --with-ld=c:/cygwin/bin/ld' I got to the point: ../compiler/ghc-inplace -optc-mno-cygwin -optc-O -optc-Wall -optc-W -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wbad-function-cast -optc-I../includes -optc-I. -optc-Iparallel -optc-DCOMPILING_RTS -optc-fomit-frame-pointer -optc-fno-strict-aliasing -H16m -O -optc-O2 -static -I. -#include HCIncludes.h -fvia-C -dcmm-lint -c Adjustor.c -o Adjustor.o make: *** [Adjustor.o] Error 1 The stage1 ghc-inplace doesn't seem to be able to produce neither code nor an error message. It just fails. It also isn't a cygwin program according to ldd; should it be? -- "[Fashion] is usually a form of ugliness so intolerable that we have to alter it every six months." -- Oscar Wilde "The computer industry is the only industry that is more fashion-driven than women's fashion." -- RMS

Tuomo Valkonen wrote:
On 2009-03-09, Tuomo Valkonen
wrote: On 2009-03-09, Tuomo Valkonen
wrote: On 2009-03-09, John Meacham
wrote: perhaps the most recent non-cabalized ghc build might be worth a try. I think darcs still compiles with ghc 6.6, but am not positive., Mingw-bootstrap, source, or both? Tried with both. Got:
ghc.exe: unknown package: unix
With './configure --build=i686-pc-cygwin32 --with-gcc=c:/cygwin/bin/gcc --with-ld=c:/cygwin/bin/ld' I got to the point:
../compiler/ghc-inplace -optc-mno-cygwin -optc-O -optc-Wall -optc-W -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wbad-function-cast -optc-I../includes -optc-I. -optc-Iparallel -optc-DCOMPILING_RTS -optc-fomit-frame-pointer -optc-fno-strict-aliasing -H16m -O -optc-O2 -static -I. -#include HCIncludes.h -fvia-C -dcmm-lint -c Adjustor.c -o Adjustor.o make: *** [Adjustor.o] Error 1
The stage1 ghc-inplace doesn't seem to be able to produce neither code nor an error message. It just fails. It also isn't a cygwin program according to ldd; should it be?
You're doing a *port* here, to create a GHC that can generate Cygwin binaries, using a GHC that generates MinGW binaries to bootstrap from. This isn't something you should expect to work out of the box :-) For a start, you should set your platforms like this: build = i386-unknown-mingw32 host = i386-unknown-mingw32 target = i386-unknown-cygwin32 It looks like your stage1 compiler is crashing, but I have no idea why. If you're really interested in getting this working, expect to have to do a lot of hacking in GHC's internals, build system, and libraries. We're here to help, of course. Cheers, Simon

On 2009-03-11, Simon Marlow
For a start, you should set your platforms like this:
build = i386-unknown-mingw32 host = i386-unknown-mingw32 target = i386-unknown-cygwin32
"GHC configuration does not support differing host/target (i.e., cross-compiling)" with both the 6.6 and 6.10.1 binaries. Is an existing cross-compiler really necessary? If a stage1 compiler is created in any case, can't it just be made to be a cross-compiler?
If you're really interested in getting this working, expect to have to do a lot of hacking in GHC's internals, build system, and libraries. We're here to help, of course.
Seems like it will be easier to switch to another version control system. -- Stop Gnomes and other pests! Purchase Windows today!

tuomov:
On 2009-03-11, Simon Marlow
wrote: For a start, you should set your platforms like this:
build = i386-unknown-mingw32 host = i386-unknown-mingw32 target = i386-unknown-cygwin32
"GHC configuration does not support differing host/target (i.e., cross-compiling)" with both the 6.6 and 6.10.1 binaries.
Is an existing cross-compiler really necessary? If a stage1 compiler is created in any case, can't it just be made to be a cross-compiler?
If you're really interested in getting this working, expect to have to do a lot of hacking in GHC's internals, build system, and libraries. We're here to help, of course.
Seems like it will be easier to switch to another version control system.
Have you asked on the darcs-users@ list for a cygwin binary build? I know these are getting pretty rare now, but someone may have already produced one. -- Don

Hello Don, Wednesday, March 11, 2009, 7:52:32 PM, you wrote:
Have you asked on the darcs-users@ list for a cygwin binary build? I know these are getting pretty rare now, but someone may have already produced one.
does ghc supports building cygwin executables? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

On Sun, 2009-03-08 at 12:29 +0000, Tuomo Valkonen wrote:
I want a _real_ cygwin version of darcs. The non-deterministic pseudo-cygwin *nix/Windows hybrid currently available has just too many problems integrating into cygwin, that I want to use as my TeXing and minor coding environment. A real cygwin version of darcs would seem to depend on a real cygwin version of GHC. Is there any easy way to compile one? Otherwise I may have to abandon darcs (and Haskell software in general) for Mercurial.
(Thanks to the over-bearing cabal and resulting hsc2hs etc. build problems with conventional Makefiles, I have already pretty much already abandoned my own Haskell projects.)
Yes we did introduce a problem with hsc2hs in the most recent ghc release and I'm sorry about that. Just in case you're interested however, the fix for your makefiles is to add two flags: hsc2hs --cc=ghc --ld=ghc That should work with any version of hsc2hs and it gives the behaviour of the older hsc2hs versions that came with older ghc releases. Duncan
participants (6)
-
Bulat Ziganshin
-
Don Stewart
-
Duncan Coutts
-
John Meacham
-
Simon Marlow
-
Tuomo Valkonen