Gregory Guthrie | 19 Nov 22:25 2012

Cabal failures...

I follow the Cabal-messes threads with some interest, since that is the hardest area for me since starting
to use Haskell. Probably 40-60% of all package install fail for some mysterious reason, with threats that
trying  to fix them will break more things, which generally is true. :-)

I am not exert in the area, but I wonder how /why/ this is different than other package managers, like apt in
Linux, I have never had any problems with it, and I would think that their dependencies are of at least
similar complexities.

In any case; Trying to do a cabal update" I was told to try to update "cabal-install", which I think means
actually updating cabal (since I actually run installs via cabal install...), but that fails with this
message below, and I don't know how to proceed.

Linking
C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-13880\Cabal-1.16.0.3\dist\setup\setup.exe ...
Configuring Cabal-1.16.0.3...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package process-1.1.0.1 requires base-4.5.0.0
package pretty-1.1.1.0 requires base-4.5.0.0
package old-time-1.1.0.0 requires base-4.5.0.0
package old-locale-1.0.0.4 requires base-4.5.0.0
package filepath-1.3.0.0 requires base-4.5.0.0
package directory-1.1.0.2 requires base-4.5.0.0
package deepseq-1.3.0.0 requires base-4.5.0.0
package containers-0.4.2.1 requires base-4.5.0.0
package bytestring-0.9.2.1 requires base-4.5.0.0
package array-0.4.0.0 requires base-4.5.0.0
package Win32-2.2.2.0 requires base-4.5.0.0
package filepath-1.3.0.0 requires base-4.5.1.0
package Cabal-1.16.0.3 requires base-4.5.1.0
(Continue reading)

Johan Tibell | 19 Nov 22:38 2012
Picon

Re: Cabal failures...

Hi Greg,

On Mon, Nov 19, 2012 at 1:25 PM, Gregory Guthrie <guthrie <at> mum.edu> wrote:
I follow the Cabal-messes threads with some interest, since that is the hardest area for me since starting to use Haskell. Probably 40-60% of all package install fail for some mysterious reason, with threats that trying  to fix them will break more things, which generally is true. :-)

We're working on it. Be brave, things are going to get better!
 
I am not exert in the area, but I wonder how /why/ this is different than other package managers, like apt in Linux, I have never had any problems with it, and I would think that their dependencies are of at least similar complexities.

The Linux package managers solve a different problems. They let you install a set of packages that have been manually curated and are know to work together (i.e. all version dependencies are fixed) while cabal does version resolution on packages that might not ever have been tried together. If you install Haskell packages via your distro's package manager I assume they will always install cleanly. The problem is that people want the latest bleeding edge of packages, which haven't made it into the distros yet, and hence they get to experience some of the pains associated with being on the bleeding edge. Being on Windows also makes things harder, as most developers don't have a Windows box to test their stuff on.
 
In any case; Trying to do a cabal update" I was told to try to update "cabal-install", which I think means actually updating cabal (since I actually run installs via cabal install...), but that fails with this message below, and I don't know how to proceed.

cabal-install is the package that includes the "cabal" executable. Cabal (with a capital C) is the library that cabal-install uses. The naming is unfortunate but hard to change at this point. To update cabal-install you do:

$ cabal update && cabal install cabal-install

Make sure that the place that the "cabal" binary gets installed into (which is printed at the end of the install) is on your PATH.
 
Linking C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-13880\Cabal-1.16.0.3\dist\setup\setup.exe ...
Configuring Cabal-1.16.0.3...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.

This is a sure sign that things are not going to work well. Could you include the output of

cabal install -v cabal-install

please. The output here is not enough to tell me what's going on. Please also include the output of

cabal --version
ghc --version

Are you using the Haskell Platform, if so, which version?

-- Johan

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Greg Fitzgerald | 19 Nov 23:55 2012
Picon

Re: Cabal failures...

> cabal install -v cabal-install

Not sure if you're running into this one, but a configuration that
wasn't working for me:

1) Install Haskell Platform
2) Install GHC 7.6.1
3) cabal install cabal-install

As I recall, the error had something to do with a Cabal-generated
'Paths' file assuming the Prelude exported 'catch'.  It was affecting
a bunch of other packages too, which forced me to upgrade
cabal-install.

To get things working, I had to boot GHC 7.6 from my system PATH,
upgrade cabal-install using GHC 7.4, and then put 7.6 back in the
system path.  After doing that, everything has worked well with GHC
7.6.

-Greg

On Mon, Nov 19, 2012 at 1:38 PM, Johan Tibell <johan.tibell <at> gmail.com> wrote:
> Hi Greg,
>
> On Mon, Nov 19, 2012 at 1:25 PM, Gregory Guthrie <guthrie <at> mum.edu> wrote:
>>
>> I follow the Cabal-messes threads with some interest, since that is the
>> hardest area for me since starting to use Haskell. Probably 40-60% of all
>> package install fail for some mysterious reason, with threats that trying
>> to fix them will break more things, which generally is true. :-)
>
>
> We're working on it. Be brave, things are going to get better!
>
>>
>> I am not exert in the area, but I wonder how /why/ this is different than
>> other package managers, like apt in Linux, I have never had any problems
>> with it, and I would think that their dependencies are of at least similar
>> complexities.
>
>
> The Linux package managers solve a different problems. They let you install
> a set of packages that have been manually curated and are know to work
> together (i.e. all version dependencies are fixed) while cabal does version
> resolution on packages that might not ever have been tried together. If you
> install Haskell packages via your distro's package manager I assume they
> will always install cleanly. The problem is that people want the latest
> bleeding edge of packages, which haven't made it into the distros yet, and
> hence they get to experience some of the pains associated with being on the
> bleeding edge. Being on Windows also makes things harder, as most developers
> don't have a Windows box to test their stuff on.
>
>>
>> In any case; Trying to do a cabal update" I was told to try to update
>> "cabal-install", which I think means actually updating cabal (since I
>> actually run installs via cabal install...), but that fails with this
>> message below, and I don't know how to proceed.
>
>
> cabal-install is the package that includes the "cabal" executable. Cabal
> (with a capital C) is the library that cabal-install uses. The naming is
> unfortunate but hard to change at this point. To update cabal-install you
> do:
>
> $ cabal update && cabal install cabal-install
>
> Make sure that the place that the "cabal" binary gets installed into (which
> is printed at the end of the install) is on your PATH.
>
>>
>> Linking
>> C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-13880\Cabal-1.16.0.3\dist\setup\setup.exe
>> ...
>> Configuring Cabal-1.16.0.3...
>> Warning: This package indirectly depends on multiple versions of the same
>> package. This is highly likely to cause a compile failure.
>
>
> This is a sure sign that things are not going to work well. Could you
> include the output of
>
> cabal install -v cabal-install
>
> please. The output here is not enough to tell me what's going on. Please
> also include the output of
>
> cabal --version
> ghc --version
>
> Are you using the Haskell Platform, if so, which version?
>
> -- Johan
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
Johan Tibell | 20 Nov 00:15 2012
Picon

Re: Cabal failures...

On Mon, Nov 19, 2012 at 2:55 PM, Greg Fitzgerald <garious <at> gmail.com> wrote:

> cabal install -v cabal-install

Not sure if you're running into this one, but a configuration that
wasn't working for me:

1) Install Haskell Platform
2) Install GHC 7.6.1
3) cabal install cabal-install

As I recall, the error had something to do with a Cabal-generated
'Paths' file assuming the Prelude exported 'catch'.  It was affecting
a bunch of other packages too, which forced me to upgrade
cabal-install.

To get things working, I had to boot GHC 7.6 from my system PATH,
upgrade cabal-install using GHC 7.4, and then put 7.6 back in the
system path.  After doing that, everything has worked well with GHC
7.6.

The issue is that cabal-install-1.16.0.1 is broken on Windows. We have a new, fixed cabal-install-1.16.0.2 out, but if you were unlucky enough to install the broken one you need to delete that binary and install cabal-install again (either by using the bootstrap.sh script in the cabal-install repo or by some other means).
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Gregory Guthrie | 20 Nov 05:22 2012

Re: Cabal failures...

Johan, thanks for the note and information.

 

My setup is: (Windows 7)

cabal-install version 0.14.0

using version 1.14.0 of the Cabal library

The Glorious Glasgow Haskell Compilation System, version 7.4.2

Haskell Platform 2012.4.0.0

 

I had just done a “cabal update”.

C:\Users\guthrie>cabal install -v cabal-install

Reading available packages...

Choosing modular solver.

Resolving dependencies...

Extracting

C:\Users\guthrie\AppData\Roaming\cabal\packages\hackage.haskell.org\Cabal\1.16.0

.3\Cabal-1.16.0.3.tar.gz

to C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392...

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up

e:\Plang\Haskell Platform\bin\ghc.exe --make C:\Users\guthrie\AppData\Local\Temp

\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Setup.hs -o C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\setup.exe -odir C:\Users\gut

hrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup -hidir C:

\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup

-i -iC:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3

[ 1 of 65] Compiling Distribution.Compat.Exception ( C:\Users\guthrie\AppData\Lo

cal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\Exception.hs, C

:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setu

p\Distribution\Compat\Exception.o )

[ 2 of 65] Compiling Distribution.Compat.TempFile ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\TempFile.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Compat\TempFile.o )

[ 3 of 65] Compiling Distribution.Compat.CopyFile ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\CopyFile.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Compat\CopyFile.o )

[ 4 of 65] Compiling Distribution.GetOpt ( C:\Users\guthrie\AppData\Local\Temp\C

abal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\GetOpt.hs, C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\GetOp

t.o )

[ 5 of 65] Compiling Distribution.Compat.ReadP ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\ReadP.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Compat\ReadP.o )

[ 6 of 65] Compiling Distribution.Text ( C:\Users\guthrie\AppData\Local\Temp\Cab

al-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Text.hs, C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Text.o )

[ 7 of 65] Compiling Distribution.Version ( C:\Users\guthrie\AppData\Local\Temp\

Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Version.hs, C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Ver

sion.o )

[ 8 of 65] Compiling Language.Haskell.Extension ( C:\Users\guthrie\AppData\Local

\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Language\Haskell\Extension.hs, C:\User

s\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Lang

uage\Haskell\Extension.o )

[ 9 of 65] Compiling Distribution.TestSuite ( C:\Users\guthrie\AppData\Local\Tem

p\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\TestSuite.hs, C:\Users\guthri

e\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution

\TestSuite.o )

[10 of 65] Compiling Distribution.System ( C:\Users\guthrie\AppData\Local\Temp\C

abal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\System.hs, C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Syste

m.o )

[11 of 65] Compiling Distribution.Simple.PreProcess.Unlit ( C:\Users\guthrie\App

Data\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\PreProce

ss\Unlit.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16

.0.3\dist\setup\Distribution\Simple\PreProcess\Unlit.o )

[12 of 65] Compiling Distribution.ReadE ( C:\Users\guthrie\AppData\Local\Temp\Ca

bal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\ReadE.hs, C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\ReadE.o

)

[13 of 65] Compiling Distribution.Verbosity ( C:\Users\guthrie\AppData\Local\Tem

p\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Verbosity.hs, C:\Users\guthri

e\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution

\Verbosity.o )

[14 of 65] Compiling Distribution.Package ( C:\Users\guthrie\AppData\Local\Temp\

Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Package.hs, C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Pac

kage.o )

[15 of 65] Compiling Distribution.ModuleName ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\ModuleName.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\ModuleName.o )

[16 of 65] Compiling Distribution.Simple.Utils ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Utils.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Utils.o )

[17 of 65] Compiling Distribution.Simple.Program.Types ( C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Typ

es.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\d

ist\setup\Distribution\Simple\Program\Types.o )

[18 of 65] Compiling Distribution.Simple.Program.Builtin ( C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\B

uiltin.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0

.3\dist\setup\Distribution\Simple\Program\Builtin.o )

[19 of 65] Compiling Distribution.Simple.Program.Db ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Db.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\Program\Db.o )

[20 of 65] Compiling Distribution.Simple.Program.Run ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Run.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\Program\Run.o )

[21 of 65] Compiling Distribution.Simple.Program ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Program.o )

[22 of 65] Compiling Distribution.Simple.Program.Ar ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Ar.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\Program\Ar.o )

[23 of 65] Compiling Distribution.Simple.Program.Hpc ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Hpc.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\Program\Hpc.o )

[24 of 65] Compiling Distribution.Simple.Program.Ld ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Ld.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\Program\Ld.o )

[25 of 65] Compiling Distribution.Simple.Program.Script ( C:\Users\guthrie\AppDa

ta\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Sc

ript.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3

\dist\setup\Distribution\Simple\Program\Script.o )

[26 of 65] Compiling Distribution.License ( C:\Users\guthrie\AppData\Local\Temp\

Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\License.hs, C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Lic

ense.o )

[27 of 65] Compiling Distribution.Compiler ( C:\Users\guthrie\AppData\Local\Temp

\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compiler.hs, C:\Users\guthrie\

AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\C

ompiler.o )

[28 of 65] Compiling Distribution.PackageDescription ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\PackageDescription.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\PackageDescription.o )

[29 of 65] Compiling Distribution.PackageDescription.Configuration ( C:\Users\gu

thrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Packag

eDescription\Configuration.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.

3-12392\Cabal-1.16.0.3\dist\setup\Distribution\PackageDescription\Configuration.

o )

[30 of 65] Compiling Distribution.PackageDescription.Check ( C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\PackageDescrip

tion\Check.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.

16.0.3\dist\setup\Distribution\PackageDescription\Check.o )

[31 of 65] Compiling Distribution.ParseUtils ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\ParseUtils.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\ParseUtils.o )

[32 of 65] Compiling Distribution.InstalledPackageInfo ( C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\InstalledPackageIn

fo.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\d

ist\setup\Distribution\InstalledPackageInfo.o )

[33 of 65] Compiling Distribution.Simple.PackageIndex ( C:\Users\guthrie\AppData

\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\PackageIndex

.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dis

t\setup\Distribution\Simple\PackageIndex.o )

[34 of 65] Compiling Distribution.Simple.GHC.IPI642 ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\GHC\IPI642.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\GHC\IPI642.o )

[35 of 65] Compiling Distribution.Simple.GHC.IPI641 ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\GHC\IPI641.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\GHC\IPI641.o )

[36 of 65] Compiling Distribution.PackageDescription.Parse ( C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\PackageDescrip

tion\Parse.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.

16.0.3\dist\setup\Distribution\PackageDescription\Parse.o )

[37 of 65] Compiling Distribution.Simple.Command ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Command.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Command.o )

[38 of 65] Compiling Distribution.Simple.Compiler ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Compiler.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Simple\Compiler.o )

[39 of 65] Compiling Distribution.Simple.Program.HcPkg ( C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\HcP

kg.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\d

ist\setup\Distribution\Simple\Program\HcPkg.o )

[40 of 65] Compiling Distribution.Simple.InstallDirs ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\InstallDirs.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\InstallDirs.o )

[41 of 65] Compiling Distribution.Simple.Setup ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Setup.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Setup.o )

[42 of 65] Compiling Distribution.Simple.LocalBuildInfo ( C:\Users\guthrie\AppDa

ta\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\LocalBuild

Info.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3

\dist\setup\Distribution\Simple\LocalBuildInfo.o )

[43 of 65] Compiling Distribution.Simple.Build.Macros ( C:\Users\guthrie\AppData

\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Build\Macros

.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dis

t\setup\Distribution\Simple\Build\Macros.o )

[44 of 65] Compiling Distribution.Simple.BuildPaths ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\BuildPaths.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\BuildPaths.o )

[45 of 65] Compiling Distribution.Simple.Build.PathsModule ( C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Build\P

athsModule.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.

16.0.3\dist\setup\Distribution\Simple\Build\PathsModule.o )

[46 of 65] Compiling Distribution.Simple.LHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\LHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\LHC.o )

[47 of 65] Compiling Distribution.Simple.Hpc ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Hpc.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\Hpc.o )

[48 of 65] Compiling Distribution.Simple.JHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\JHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\JHC.o )

[49 of 65] Compiling Distribution.Simple.NHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\NHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\NHC.o )

[50 of 65] Compiling Distribution.Simple.UHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\UHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\UHC.o )

[51 of 65] Compiling Distribution.Simple.Test ( C:\Users\guthrie\AppData\Local\T

emp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Test.hs, C:\Users\gu

thrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribu

tion\Simple\Test.o )

[52 of 65] Compiling Distribution.Simple.PreProcess ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\PreProcess.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\PreProcess.o )

[53 of 65] Compiling Distribution.Simple.Hugs ( C:\Users\guthrie\AppData\Local\T

emp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Hugs.hs, C:\Users\gu

thrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribu

tion\Simple\Hugs.o )

[54 of 65] Compiling Distribution.Simple.SrcDist ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\SrcDist.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\SrcDist.o )

[55 of 65] Compiling Distribution.Simple.UserHooks ( C:\Users\guthrie\AppData\Lo

cal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\UserHooks.hs, C

:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setu

p\Distribution\Simple\UserHooks.o )

[56 of 65] Compiling Distribution.Simple.Bench ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Bench.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Bench.o )

[57 of 65] Compiling Distribution.Simple.Program.GHC ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\GHC.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\Program\GHC.o )

[58 of 65] Compiling Distribution.Simple.GHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\GHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\GHC.o )

[59 of 65] Compiling Distribution.Simple.Configure ( C:\Users\guthrie\AppData\Lo

cal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Configure.hs, C

:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setu

p\Distribution\Simple\Configure.o )

[60 of 65] Compiling Distribution.Simple.Install ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Install.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Install.o )

[61 of 65] Compiling Distribution.Simple.Register ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Register.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Simple\Register.o )

[62 of 65] Compiling Distribution.Simple.Build ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Build.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Build.o )

[63 of 65] Compiling Distribution.Simple.Haddock ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Haddock.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Haddock.o )

[64 of 65] Compiling Distribution.Simple ( C:\Users\guthrie\AppData\Local\Temp\C

abal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple.hs, C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Simpl

e.o )

[65 of 65] Compiling Main             ( C:\Users\guthrie\AppData\Local\Temp\Caba

l-1.16.0.3-12392\Cabal-1.16.0.3\Setup.hs, C:\Users\guthrie\AppData\Local\Temp\Ca

bal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Main.o )

Linking C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\

dist\setup\setup.exe ...

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up\setup.exe

configure --verbose=2 --ghc --prefix=C:\Users\guthrie\AppData\Roaming\cabal

--user --flags=base4 --flags=base3 --constraint=process ==1.1.0.1

--constraint=pretty ==1.1.1.0 --constraint=old-time ==1.1.0.0

--constraint=filepath ==1.3.0.0 --constraint=directory ==1.1.0.2

--constraint=containers ==0.4.2.1 --constraint=base ==4.5.1.0

--constraint=array ==0.4.0.0 --disable-tests --disable-benchmarks

Configuring Cabal-1.16.0.3...

Flags chosen: base3=True, base4=True

Dependency array ==0.4.0.0: using array-0.4.0.0

Dependency base ==4.5.1.0: using base-4.5.1.0

Dependency containers ==0.4.2.1: using containers-0.4.2.1

Dependency directory ==1.1.0.2: using directory-1.1.0.2

Dependency filepath ==1.3.0.0: using filepath-1.3.0.0

Dependency old-time ==1.1.0.0: using old-time-1.1.0.0

Dependency pretty ==1.1.1.0: using pretty-1.1.1.0

Dependency process ==1.1.0.1: using process-1.1.0.1

Warning: This package indirectly depends on multiple versions of the same

package. This is highly likely to cause a compile failure.

package process-1.1.0.1 requires base-4.5.0.0

package pretty-1.1.1.0 requires base-4.5.0.0

package old-time-1.1.0.0 requires base-4.5.0.0

package old-locale-1.0.0.4 requires base-4.5.0.0

package filepath-1.3.0.0 requires base-4.5.0.0

package directory-1.1.0.2 requires base-4.5.0.0

package deepseq-1.3.0.0 requires base-4.5.0.0

package containers-0.4.2.1 requires base-4.5.0.0

package bytestring-0.9.2.1 requires base-4.5.0.0

package array-0.4.0.0 requires base-4.5.0.0

package Win32-2.2.2.0 requires base-4.5.0.0

package filepath-1.3.0.0 requires base-4.5.1.0

package Cabal-1.16.0.3 requires base-4.5.1.0

package Cabal-1.16.0.3 requires filepath-1.3.0.0

package process-1.1.0.1 requires filepath-1.3.0.0

package directory-1.1.0.2 requires filepath-1.3.0.0

package integer-gmp-0.4.0.0 requires ghc-prim-0.2.0.0

package bytestring-0.9.2.1 requires ghc-prim-0.2.0.0

package base-4.5.0.0 requires ghc-prim-0.2.0.0

package integer-gmp-0.4.0.0 requires ghc-prim-0.2.0.0

package base-4.5.1.0 requires ghc-prim-0.2.0.0

package base-4.5.1.0 requires integer-gmp-0.4.0.0

package base-4.5.0.0 requires integer-gmp-0.4.0.0

Using Cabal-1.9999 compiled by ghc-7.4

Using compiler: ghc-7.4.2

Using install prefix: C:\Users\guthrie\AppData\Roaming\cabal

Binaries installed in: C:\Users\guthrie\AppData\Roaming\cabal\bin

Libraries installed in:

C:\Users\guthrie\AppData\Roaming\cabal\Cabal-1.16.0.3\ghc-7.4.2

Private binaries installed in:

C:\Users\guthrie\AppData\Roaming\cabal\Cabal-1.16.0.3

Data files installed in: C:\Users\guthrie\AppData\Roaming\cabal\Cabal-1.16.0.3

Documentation installed in:

C:\Users\guthrie\AppData\Roaming\cabal\doc\Cabal-1.16.0.3

Using alex version 3.0.2 found on system at: e:\Plang\Haskell

Platform\lib\extralibs\bin\alex.exe

Using ar found on system at: e:\Plang\Haskell Platform\mingw\bin\ar.exe

No c2hs found

Using cpphs version 1.12 found on system at:

C:\Users\guthrie\AppData\Roaming\cabal\bin\cpphs.exe

No ffihugs found

Using gcc version 4.5.2 found on system at: e:\Plang\Haskell

Platform\mingw\bin\gcc.exe

Using ghc version 7.4.2 found on system at: e:\Plang\Haskell

Platform\bin\ghc.exe

Using ghc-pkg version 7.4.2 found on system at: e:\Plang\Haskell

Platform\bin\ghc-pkg.exe

No greencard found

Using haddock version 2.11.0 found on system at: e:\Plang\Haskell

Platform\bin\haddock.exe

Using happy version 1.18.10 found on system at: e:\Plang\Haskell

Platform\lib\extralibs\bin\happy.exe

No hmake found

Using hpc version 0.6 found on system at: e:\Plang\Haskell

Platform\bin\hpc.exe

Using hsc2hs version 0.67 found on system at: e:\Plang\Haskell

Platform\bin\hsc2hs.exe

No hscolour found

No hugs found

No jhc found

Using ld found on system at: e:\Plang\Haskell Platform\mingw\bin\ld.exe

No lhc found

No lhc-pkg found

No nhc98 found

Using pkg-config version 0.25 found on system at: E:\Programs\Graphviz

2.28\bin\pkg-config.exe

Using ranlib found on system at: e:\developer\MinGW\bin\ranlib.exe

Using strip found on system at: e:\Plang\Haskell Platform\mingw\bin\strip.exe

Using tar found on system at: e:\Tools\Gnuwin32\bin\tar.exe

No uhc found

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up\setup.exe

build --verbose=2

creating dist\build

creating dist\build\autogen

Building Cabal-1.16.0.3...

Preprocessing library Cabal-1.16.0.3...

Building library...

creating dist\build

e:\Plang\Haskell Platform\bin\ghc.exe --make -fbuilding-cabal-package -O -odir d

ist\build -hidir dist\build -stubdir dist\build -i -idist\build -i. -idist\build

\autogen -Idist\build\autogen -Idist\build -optP-include -optPdist\build\autogen

\cabal_macros.h -package-name Cabal-1.16.0.3 -hide-all-packages -package-conf di

st\package.conf.inplace -package-id array-0.4.0.0-3cf1bc3f5cd0078adea24752c18081

b9 -package-id base-4.5.1.0-7c83b96f47f23db63c42a56351dcb917 -package-id contain

ers-0.4.2.1-7c54595400348f577b3b4a45691c5afd -package-id directory-1.1.0.2-02702

78088d4b2588b52cbec49af4cb7 -package-id filepath-1.3.0.0-2f497f30c85bfb59ab50596

7fb933019 -package-id old-time-1.1.0.0-7b2e123ada736534f8119498399ea8c8 -package

-id pretty-1.1.1.0-7e118fa87f5698f5c005fe87b34befe8 -package-id process-1.1.0.1-

a1e999172167bbc8a1120e48bbfdef22 -XHaskell98 -XCPP Distribution.Compiler Distrib

ution.InstalledPackageInfo Distribution.License Distribution.Make Distribution.M

oduleName Distribution.Package Distribution.PackageDescription Distribution.Pack

ageDescription.Configuration Distribution.PackageDescription.Parse Distribution.

PackageDescription.Check Distribution.PackageDescription.PrettyPrint Distributio

n.ParseUtils Distribution.ReadE Distribution.Simple Distribution.Simple.Build Di

stribution.Simple.Build.Macros Distribution.Simple.Build.PathsModule Distributio

n.Simple.BuildPaths Distribution.Simple.Bench Distribution.Simple.Command Distri

bution.Simple.Compiler Distribution.Simple.Configure Distribution.Simple.GHC Dis

tribution.Simple.LHC Distribution.Simple.Haddock Distribution.Simple.Hpc Distrib

ution.Simple.Hugs Distribution.Simple.Install Distribution.Simple.InstallDirs Di

stribution.Simple.JHC Distribution.Simple.LocalBuildInfo Distribution.Simple.NHC

Distribution.Simple.PackageIndex Distribution.Simple.PreProcess Distribution.Si

mple.PreProcess.Unlit Distribution.Simple.Program Distribution.Simple.Program.Ar

Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db Distribution

.Simple.Program.GHC Distribution.Simple.Program.HcPkg Distribution.Simple.Progra

m.Hpc Distribution.Simple.Program.Ld Distribution.Simple.Program.Run Distributio

n.Simple.Program.Script Distribution.Simple.Program.Types Distribution.Simple.Re

gister Distribution.Simple.Setup Distribution.Simple.SrcDist Distribution.Simple

.Test Distribution.Simple.UHC Distribution.Simple.UserHooks Distribution.Simple.

Utils Distribution.System Distribution.TestSuite Distribution.Text Distribution.

Verbosity Distribution.Version Distribution.Compat.ReadP Language.Haskell.Extens

ion Distribution.GetOpt Distribution.Compat.Exception Distribution.Compat.CopyFi

le Distribution.Compat.TempFile Distribution.Simple.GHC.IPI641 Distribution.Simp

le.GHC.IPI642 Paths_Cabal -fwarn-tabs -Wall -fno-ignore-asserts

<command line>: cannot satisfy -package-id array-0.4.0.0-3cf1bc3f5cd0078adea2475

2c18081b9

    (use -v for more information)

World file is already up to date.

cabal: Error: some packages failed to install:

Cabal-1.16.0.3 failed during the building phase. The exception was:

ExitFailure 1

cabal-install-1.16.0.2 depends on Cabal-1.16.0.3 which failed to install.

 

 

-------------------------------------------

Subject: Re: [Haskell-cafe] Cabal failures...

Hi Greg,

On Mon, Nov 19, 2012 at 1:25 PM, Gregory Guthrie <guthrie <at> mum.edu> wrote:

I follow the Cabal-messes threads with some interest, since that is the hardest area for me since starting to use Haskell. Probably 40-60% of all package install fail for some mysterious reason, with threats that trying  to fix them will break more things, which generally is true. :-)

 

We're working on it. Be brave, things are going to get better!

 

Make sure that the place that the "cabal" binary gets installed into (which is printed at the end of the install) is on your PATH.

 

Linking C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-13880\Cabal-1.16.0.3\dist\setup\setup.exe ...
Configuring Cabal-1.16.0.3...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.

 

This is a sure sign that things are not going to work well. Could you include the output of

 

cabal install -v cabal-install

 

please. The output here is not enough to tell me what's going on. Please also include the output of

 

cabal --version

ghc --version

 

Are you using the Haskell Platform, if so, which version?

 

-- Johan

 

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Johan Tibell | 20 Nov 05:42 2012
Picon

Re: Cabal failures...

I'm not quite sure what's going on. I've CCed Andres, who wrote the new constraint solver.


One especially confusing part is this:

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up\setup.exe

configure --verbose=2 --ghc --prefix=C:\Users\guthrie\AppData\Roaming\cabal

--user --flags=base4 --flags=base3 --constraint=process ==1.1.0.1

--constraint=pretty ==1.1.1.0 --constraint=old-time ==1.1.0.0

--constraint=filepath ==1.3.0.0 --constraint=directory ==1.1.0.2

--constraint=containers ==0.4.2.1 --constraint=base ==4.5.1.0

--constraint=array ==0.4.0.0 --disable-tests --disable-benchmarks

Configuring Cabal-1.16.0.3...

Flags chosen: base3=True, base4=True

Dependency array ==0.4.0.0: using array-0.4.0.0

Dependency base ==4.5.1.0: using base-4.5.1.0

Dependency containers ==0.4.2.1: using containers-0.4.2.1

Dependency directory ==1.1.0.2: using directory-1.1.0.2

Dependency filepath ==1.3.0.0: using filepath-1.3.0.0

Dependency old-time ==1.1.0.0: using old-time-1.1.0.0

Dependency pretty ==1.1.1.0: using pretty-1.1.1.0

Dependency process ==1.1.0.1: using process-1.1.0.1

Warning: This package indirectly depends on multiple versions of the same

package. This is highly likely to cause a compile failure.


Why is Cabal setting both base3 and base4 to True?

P.S. You can try the same command with --solver=topdown and see if that works.

On Mon, Nov 19, 2012 at 8:22 PM, Gregory Guthrie <guthrie <at> mum.edu> wrote:

Johan, thanks for the note and information.

 

My setup is: (Windows 7)

cabal-install version 0.14.0

using version 1.14.0 of the Cabal library

The Glorious Glasgow Haskell Compilation System, version 7.4.2

Haskell Platform 2012.4.0.0

 

I had just done a “cabal update”.

C:\Users\guthrie>cabal install -v cabal-install

Reading available packages...

Choosing modular solver.

Resolving dependencies...

Extracting

C:\Users\guthrie\AppData\Roaming\cabal\packages\hackage.haskell.org\Cabal\1.16.0

.3\Cabal-1.16.0.3.tar.gz

to C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392...

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up

e:\Plang\Haskell Platform\bin\ghc.exe --make C:\Users\guthrie\AppData\Local\Temp

\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Setup.hs -o C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\setup.exe -odir C:\Users\gut

hrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup -hidir C:

\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup

-i -iC:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3

[ 1 of 65] Compiling Distribution.Compat.Exception ( C:\Users\guthrie\AppData\Lo

cal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\Exception.hs, C

:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setu

p\Distribution\Compat\Exception.o )

[ 2 of 65] Compiling Distribution.Compat.TempFile ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\TempFile.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Compat\TempFile.o )

[ 3 of 65] Compiling Distribution.Compat.CopyFile ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\CopyFile.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Compat\CopyFile.o )

[ 4 of 65] Compiling Distribution.GetOpt ( C:\Users\guthrie\AppData\Local\Temp\C

abal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\GetOpt.hs, C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\GetOp

t.o )

[ 5 of 65] Compiling Distribution.Compat.ReadP ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compat\ReadP.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Compat\ReadP.o )

[ 6 of 65] Compiling Distribution.Text ( C:\Users\guthrie\AppData\Local\Temp\Cab

al-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Text.hs, C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Text.o )

[ 7 of 65] Compiling Distribution.Version ( C:\Users\guthrie\AppData\Local\Temp\

Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Version.hs, C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Ver

sion.o )

[ 8 of 65] Compiling Language.Haskell.Extension ( C:\Users\guthrie\AppData\Local

\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Language\Haskell\Extension.hs, C:\User

s\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Lang

uage\Haskell\Extension.o )

[ 9 of 65] Compiling Distribution.TestSuite ( C:\Users\guthrie\AppData\Local\Tem

p\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\TestSuite.hs, C:\Users\guthri

e\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution

\TestSuite.o )

[10 of 65] Compiling Distribution.System ( C:\Users\guthrie\AppData\Local\Temp\C

abal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\System.hs, C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Syste

m.o )

[11 of 65] Compiling Distribution.Simple.PreProcess.Unlit ( C:\Users\guthrie\App

Data\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\PreProce

ss\Unlit.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16

.0.3\dist\setup\Distribution\Simple\PreProcess\Unlit.o )

[12 of 65] Compiling Distribution.ReadE ( C:\Users\guthrie\AppData\Local\Temp\Ca

bal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\ReadE.hs, C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\ReadE.o

)

[13 of 65] Compiling Distribution.Verbosity ( C:\Users\guthrie\AppData\Local\Tem

p\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Verbosity.hs, C:\Users\guthri

e\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution

\Verbosity.o )

[14 of 65] Compiling Distribution.Package ( C:\Users\guthrie\AppData\Local\Temp\

Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Package.hs, C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Pac

kage.o )

[15 of 65] Compiling Distribution.ModuleName ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\ModuleName.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\ModuleName.o )

[16 of 65] Compiling Distribution.Simple.Utils ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Utils.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Utils.o )

[17 of 65] Compiling Distribution.Simple.Program.Types ( C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Typ

es.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\d

ist\setup\Distribution\Simple\Program\Types.o )

[18 of 65] Compiling Distribution.Simple.Program.Builtin ( C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\B

uiltin.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0

.3\dist\setup\Distribution\Simple\Program\Builtin.o )

[19 of 65] Compiling Distribution.Simple.Program.Db ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Db.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\Program\Db.o )

[20 of 65] Compiling Distribution.Simple.Program.Run ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Run.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\Program\Run.o )

[21 of 65] Compiling Distribution.Simple.Program ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Program.o )

[22 of 65] Compiling Distribution.Simple.Program.Ar ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Ar.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\Program\Ar.o )

[23 of 65] Compiling Distribution.Simple.Program.Hpc ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Hpc.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\Program\Hpc.o )

[24 of 65] Compiling Distribution.Simple.Program.Ld ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Ld.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\Program\Ld.o )

[25 of 65] Compiling Distribution.Simple.Program.Script ( C:\Users\guthrie\AppDa

ta\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\Sc

ript.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3

\dist\setup\Distribution\Simple\Program\Script.o )

[26 of 65] Compiling Distribution.License ( C:\Users\guthrie\AppData\Local\Temp\

Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\License.hs, C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Lic

ense.o )

[27 of 65] Compiling Distribution.Compiler ( C:\Users\guthrie\AppData\Local\Temp

\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Compiler.hs, C:\Users\guthrie\

AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\C

ompiler.o )

[28 of 65] Compiling Distribution.PackageDescription ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\PackageDescription.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\PackageDescription.o )

[29 of 65] Compiling Distribution.PackageDescription.Configuration ( C:\Users\gu

thrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Packag

eDescription\Configuration.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.

3-12392\Cabal-1.16.0.3\dist\setup\Distribution\PackageDescription\Configuration.

o )

[30 of 65] Compiling Distribution.PackageDescription.Check ( C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\PackageDescrip

tion\Check.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.

16.0.3\dist\setup\Distribution\PackageDescription\Check.o )

[31 of 65] Compiling Distribution.ParseUtils ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\ParseUtils.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\ParseUtils.o )

[32 of 65] Compiling Distribution.InstalledPackageInfo ( C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\InstalledPackageIn

fo.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\d

ist\setup\Distribution\InstalledPackageInfo.o )

[33 of 65] Compiling Distribution.Simple.PackageIndex ( C:\Users\guthrie\AppData

\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\PackageIndex

.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dis

t\setup\Distribution\Simple\PackageIndex.o )

[34 of 65] Compiling Distribution.Simple.GHC.IPI642 ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\GHC\IPI642.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\GHC\IPI642.o )

[35 of 65] Compiling Distribution.Simple.GHC.IPI641 ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\GHC\IPI641.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\GHC\IPI641.o )

[36 of 65] Compiling Distribution.PackageDescription.Parse ( C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\PackageDescrip

tion\Parse.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.

16.0.3\dist\setup\Distribution\PackageDescription\Parse.o )

[37 of 65] Compiling Distribution.Simple.Command ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Command.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Command.o )

[38 of 65] Compiling Distribution.Simple.Compiler ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Compiler.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Simple\Compiler.o )

[39 of 65] Compiling Distribution.Simple.Program.HcPkg ( C:\Users\guthrie\AppDat

a\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\HcP

kg.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\d

ist\setup\Distribution\Simple\Program\HcPkg.o )

[40 of 65] Compiling Distribution.Simple.InstallDirs ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\InstallDirs.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\InstallDirs.o )

[41 of 65] Compiling Distribution.Simple.Setup ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Setup.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Setup.o )

[42 of 65] Compiling Distribution.Simple.LocalBuildInfo ( C:\Users\guthrie\AppDa

ta\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\LocalBuild

Info.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3

\dist\setup\Distribution\Simple\LocalBuildInfo.o )

[43 of 65] Compiling Distribution.Simple.Build.Macros ( C:\Users\guthrie\AppData

\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Build\Macros

.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dis

t\setup\Distribution\Simple\Build\Macros.o )

[44 of 65] Compiling Distribution.Simple.BuildPaths ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\BuildPaths.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\BuildPaths.o )

[45 of 65] Compiling Distribution.Simple.Build.PathsModule ( C:\Users\guthrie\Ap

pData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Build\P

athsModule.hs, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.

16.0.3\dist\setup\Distribution\Simple\Build\PathsModule.o )

[46 of 65] Compiling Distribution.Simple.LHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\LHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\LHC.o )

[47 of 65] Compiling Distribution.Simple.Hpc ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Hpc.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\Hpc.o )

[48 of 65] Compiling Distribution.Simple.JHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\JHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\JHC.o )

[49 of 65] Compiling Distribution.Simple.NHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\NHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\NHC.o )

[50 of 65] Compiling Distribution.Simple.UHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\UHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\UHC.o )

[51 of 65] Compiling Distribution.Simple.Test ( C:\Users\guthrie\AppData\Local\T

emp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Test.hs, C:\Users\gu

thrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribu

tion\Simple\Test.o )

[52 of 65] Compiling Distribution.Simple.PreProcess ( C:\Users\guthrie\AppData\L

ocal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\PreProcess.hs,

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\se

tup\Distribution\Simple\PreProcess.o )

[53 of 65] Compiling Distribution.Simple.Hugs ( C:\Users\guthrie\AppData\Local\T

emp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Hugs.hs, C:\Users\gu

thrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribu

tion\Simple\Hugs.o )

[54 of 65] Compiling Distribution.Simple.SrcDist ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\SrcDist.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\SrcDist.o )

[55 of 65] Compiling Distribution.Simple.UserHooks ( C:\Users\guthrie\AppData\Lo

cal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\UserHooks.hs, C

:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setu

p\Distribution\Simple\UserHooks.o )

[56 of 65] Compiling Distribution.Simple.Bench ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Bench.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Bench.o )

[57 of 65] Compiling Distribution.Simple.Program.GHC ( C:\Users\guthrie\AppData\

Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Program\GHC.h

s, C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\

setup\Distribution\Simple\Program\GHC.o )

[58 of 65] Compiling Distribution.Simple.GHC ( C:\Users\guthrie\AppData\Local\Te

mp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\GHC.hs, C:\Users\guth

rie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distributi

on\Simple\GHC.o )

[59 of 65] Compiling Distribution.Simple.Configure ( C:\Users\guthrie\AppData\Lo

cal\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Configure.hs, C

:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setu

p\Distribution\Simple\Configure.o )

[60 of 65] Compiling Distribution.Simple.Install ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Install.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Install.o )

[61 of 65] Compiling Distribution.Simple.Register ( C:\Users\guthrie\AppData\Loc

al\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Register.hs, C:\

Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\

Distribution\Simple\Register.o )

[62 of 65] Compiling Distribution.Simple.Build ( C:\Users\guthrie\AppData\Local\

Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Build.hs, C:\Users\

guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distri

bution\Simple\Build.o )

[63 of 65] Compiling Distribution.Simple.Haddock ( C:\Users\guthrie\AppData\Loca

l\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple\Haddock.hs, C:\Us

ers\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Di

stribution\Simple\Haddock.o )

[64 of 65] Compiling Distribution.Simple ( C:\Users\guthrie\AppData\Local\Temp\C

abal-1.16.0.3-12392\Cabal-1.16.0.3\Distribution\Simple.hs, C:\Users\guthrie\AppD

ata\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Distribution\Simpl

e.o )

[65 of 65] Compiling Main             ( C:\Users\guthrie\AppData\Local\Temp\Caba

l-1.16.0.3-12392\Cabal-1.16.0.3\Setup.hs, C:\Users\guthrie\AppData\Local\Temp\Ca

bal-1.16.0.3-12392\Cabal-1.16.0.3\dist\setup\Main.o )

Linking C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\

dist\setup\setup.exe ...

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up\setup.exe

configure --verbose=2 --ghc --prefix=C:\Users\guthrie\AppData\Roaming\cabal

--user --flags=base4 --flags=base3 --constraint=process ==1.1.0.1

--constraint=pretty ==1.1.1.0 --constraint=old-time ==1.1.0.0

--constraint=filepath ==1.3.0.0 --constraint=directory ==1.1.0.2

--constraint=containers ==0.4.2.1 --constraint=base ==4.5.1.0

--constraint=array ==0.4.0.0 --disable-tests --disable-benchmarks

Configuring Cabal-1.16.0.3...

Flags chosen: base3=True, base4=True

Dependency array ==0.4.0.0: using array-0.4.0.0

Dependency base ==4.5.1.0: using base-4.5.1.0

Dependency containers ==0.4.2.1: using containers-0.4.2.1

Dependency directory ==1.1.0.2: using directory-1.1.0.2

Dependency filepath ==1.3.0.0: using filepath-1.3.0.0

Dependency old-time ==1.1.0.0: using old-time-1.1.0.0

Dependency pretty ==1.1.1.0: using pretty-1.1.1.0

Dependency process ==1.1.0.1: using process-1.1.0.1

Warning: This package indirectly depends on multiple versions of the same

package. This is highly likely to cause a compile failure.

package process-1.1.0.1 requires base-4.5.0.0

package pretty-1.1.1.0 requires base-4.5.0.0

package old-time-1.1.0.0 requires base-4.5.0.0

package old-locale-1.0.0.4 requires base-4.5.0.0

package filepath-1.3.0.0 requires base-4.5.0.0

package directory-1.1.0.2 requires base-4.5.0.0

package deepseq-1.3.0.0 requires base-4.5.0.0

package containers-0.4.2.1 requires base-4.5.0.0

package bytestring-0.9.2.1 requires base-4.5.0.0

package array-0.4.0.0 requires base-4.5.0.0

package Win32-2.2.2.0 requires base-4.5.0.0

package filepath-1.3.0.0 requires base-4.5.1.0

package Cabal-1.16.0.3 requires base-4.5.1.0

package Cabal-1.16.0.3 requires filepath-1.3.0.0

package process-1.1.0.1 requires filepath-1.3.0.0

package directory-1.1.0.2 requires filepath-1.3.0.0

package integer-gmp-0.4.0.0 requires ghc-prim-0.2.0.0

package bytestring-0.9.2.1 requires ghc-prim-0.2.0.0

package base-4.5.0.0 requires ghc-prim-0.2.0.0

package integer-gmp-0.4.0.0 requires ghc-prim-0.2.0.0

package base-4.5.1.0 requires ghc-prim-0.2.0.0

package base-4.5.1.0 requires integer-gmp-0.4.0.0

package base-4.5.0.0 requires integer-gmp-0.4.0.0

Using Cabal-1.9999 compiled by ghc-7.4

Using compiler: ghc-7.4.2

Using install prefix: C:\Users\guthrie\AppData\Roaming\cabal

Binaries installed in: C:\Users\guthrie\AppData\Roaming\cabal\bin

Libraries installed in:

C:\Users\guthrie\AppData\Roaming\cabal\Cabal-1.16.0.3\ghc-7.4.2

Private binaries installed in:

C:\Users\guthrie\AppData\Roaming\cabal\Cabal-1.16.0.3

Data files installed in: C:\Users\guthrie\AppData\Roaming\cabal\Cabal-1.16.0.3

Documentation installed in:

C:\Users\guthrie\AppData\Roaming\cabal\doc\Cabal-1.16.0.3

Using alex version 3.0.2 found on system at: e:\Plang\Haskell

Platform\lib\extralibs\bin\alex.exe

Using ar found on system at: e:\Plang\Haskell Platform\mingw\bin\ar.exe

No c2hs found

Using cpphs version 1.12 found on system at:

C:\Users\guthrie\AppData\Roaming\cabal\bin\cpphs.exe

No ffihugs found

Using gcc version 4.5.2 found on system at: e:\Plang\Haskell

Platform\mingw\bin\gcc.exe

Using ghc version 7.4.2 found on system at: e:\Plang\Haskell

Platform\bin\ghc.exe

Using ghc-pkg version 7.4.2 found on system at: e:\Plang\Haskell

Platform\bin\ghc-pkg.exe

No greencard found

Using haddock version 2.11.0 found on system at: e:\Plang\Haskell

Platform\bin\haddock.exe

Using happy version 1.18.10 found on system at: e:\Plang\Haskell

Platform\lib\extralibs\bin\happy.exe

No hmake found

Using hpc version 0.6 found on system at: e:\Plang\Haskell

Platform\bin\hpc.exe

Using hsc2hs version 0.67 found on system at: e:\Plang\Haskell

Platform\bin\hsc2hs.exe

No hscolour found

No hugs found

No jhc found

Using ld found on system at: e:\Plang\Haskell Platform\mingw\bin\ld.exe

No lhc found

No lhc-pkg found

No nhc98 found

Using pkg-config version 0.25 found on system at: E:\Programs\Graphviz

2.28\bin\pkg-config.exe

Using ranlib found on system at: e:\developer\MinGW\bin\ranlib.exe

Using strip found on system at: e:\Plang\Haskell Platform\mingw\bin\strip.exe

Using tar found on system at: e:\Tools\Gnuwin32\bin\tar.exe

No uhc found

creating

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set

up\setup.exe

build --verbose=2

creating dist\build

creating dist\build\autogen

Building Cabal-1.16.0.3...

Preprocessing library Cabal-1.16.0.3...

Building library...

creating dist\build

e:\Plang\Haskell Platform\bin\ghc.exe --make -fbuilding-cabal-package -O -odir d

ist\build -hidir dist\build -stubdir dist\build -i -idist\build -i. -idist\build

\autogen -Idist\build\autogen -Idist\build -optP-include -optPdist\build\autogen

\cabal_macros.h -package-name Cabal-1.16.0.3 -hide-all-packages -package-conf di

st\package.conf.inplace -package-id array-0.4.0.0-3cf1bc3f5cd0078adea24752c18081

b9 -package-id base-4.5.1.0-7c83b96f47f23db63c42a56351dcb917 -package-id contain

ers-0.4.2.1-7c54595400348f577b3b4a45691c5afd -package-id directory-1.1.0.2-02702

78088d4b2588b52cbec49af4cb7 -package-id filepath-1.3.0.0-2f497f30c85bfb59ab50596

7fb933019 -package-id old-time-1.1.0.0-7b2e123ada736534f8119498399ea8c8 -package

-id pretty-1.1.1.0-7e118fa87f5698f5c005fe87b34befe8 -package-id process-1.1.0.1-

a1e999172167bbc8a1120e48bbfdef22 -XHaskell98 -XCPP Distribution.Compiler Distrib

ution.InstalledPackageInfo Distribution.License Distribution.Make Distribution.M

oduleName Distribution.Package Distribution.PackageDescription Distribution.Pack

ageDescription.Configuration Distribution.PackageDescription.Parse Distribution.

PackageDescription.Check Distribution.PackageDescription.PrettyPrint Distributio

n.ParseUtils Distribution.ReadE Distribution.Simple Distribution.Simple.Build Di

stribution.Simple.Build.Macros Distribution.Simple.Build.PathsModule Distributio

n.Simple.BuildPaths Distribution.Simple.Bench Distribution.Simple.Command Distri

bution.Simple.Compiler Distribution.Simple.Configure Distribution.Simple.GHC Dis

tribution.Simple.LHC Distribution.Simple.Haddock Distribution.Simple.Hpc Distrib

ution.Simple.Hugs Distribution.Simple.Install Distribution.Simple.InstallDirs Di

stribution.Simple.JHC Distribution.Simple.LocalBuildInfo Distribution.Simple.NHC

Distribution.Simple.PackageIndex Distribution.Simple.PreProcess Distribution.Si

mple.PreProcess.Unlit Distribution.Simple.Program Distribution.Simple.Program.Ar

Distribution.Simple.Program.Builtin Distribution.Simple.Program.Db Distribution

.Simple.Program.GHC Distribution.Simple.Program.HcPkg Distribution.Simple.Progra

m.Hpc Distribution.Simple.Program.Ld Distribution.Simple.Program.Run Distributio

n.Simple.Program.Script Distribution.Simple.Program.Types Distribution.Simple.Re

gister Distribution.Simple.Setup Distribution.Simple.SrcDist Distribution.Simple

.Test Distribution.Simple.UHC Distribution.Simple.UserHooks Distribution.Simple.

Utils Distribution.System Distribution.TestSuite Distribution.Text Distribution.

Verbosity Distribution.Version Distribution.Compat.ReadP Language.Haskell.Extens

ion Distribution.GetOpt Distribution.Compat.Exception Distribution.Compat.CopyFi

le Distribution.Compat.TempFile Distribution.Simple.GHC.IPI641 Distribution.Simp

le.GHC.IPI642 Paths_Cabal -fwarn-tabs -Wall -fno-ignore-asserts

<command line>: cannot satisfy -package-id array-0.4.0.0-3cf1bc3f5cd0078adea2475

2c18081b9

    (use -v for more information)

World file is already up to date.

cabal: Error: some packages failed to install:

Cabal-1.16.0.3 failed during the building phase. The exception was:

ExitFailure 1

cabal-install-1.16.0.2 depends on Cabal-1.16.0.3 which failed to install.

 

 

-------------------------------------------

Subject: Re: [Haskell-cafe] Cabal failures...

Hi Greg,

On Mon, Nov 19, 2012 at 1:25 PM, Gregory Guthrie <guthrie <at> mum.edu> wrote:

I follow the Cabal-messes threads with some interest, since that is the hardest area for me since starting to use Haskell. Probably 40-60% of all package install fail for some mysterious reason, with threats that trying  to fix them will break more things, which generally is true. :-)

 

We're working on it. Be brave, things are going to get better!

 

Make sure that the place that the "cabal" binary gets installed into (which is printed at the end of the install) is on your PATH.

 

Linking C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-13880\Cabal-1.16.0.3\dist\setup\setup.exe ...
Configuring Cabal-1.16.0.3...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.

 

This is a sure sign that things are not going to work well. Could you include the output of

 

cabal install -v cabal-install

 

please. The output here is not enough to tell me what's going on. Please also include the output of

 

cabal --version

ghc --version

 

Are you using the Haskell Platform, if so, which version?

 

-- Johan

 


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Gregory Guthrie | 20 Nov 05:53 2012

Re: Cabal failures...

Thanks for looking at this and the help;
Trying with "topdown" changes things, but as often is the case warns that it will break another ~60 packages
if I force it, not sure if this will help me or cause the ruin of the rest of the local Haskell library universe.

Should I force it?!  :-)

C:\Users\guthrie>cabal install -v --solver=topdown cabal-install
Reading available packages...
Resolving dependencies...
In order, the following would be installed:
Win32-2.2.2.0 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
array-0.4.0.0 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
deepseq-1.3.0.0 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
containers-0.4.2.1 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
old-locale-1.0.0.4 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
old-time-1.1.0.0 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
directory-1.1.0.2 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
pretty-1.1.1.0 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
process-1.1.0.1 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
Cabal-1.16.0.3 (new version)
text-0.11.2.3 (reinstall)
parsec-3.1.3 (reinstall)
network-2.4.0.1 (new version)
HTTP-4000.2.5 (reinstall) changes: network-2.3.1.0 -> 2.4.0.1
time-1.4 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
random-1.0.1.1 (reinstall) changes: base-4.5.0.0 -> 4.5.1.0
cabal-install-1.16.0.2 -bytestring-in-base (new package)
cabal: The following packages are likely to be broken by the reinstalls:
QuickCheck-2.4.2
haskell98-2.0.0.1
ghc-7.4.1
Cabal-1.14.0
bin-package-db-0.0.0.0
hpc-0.5.1.1
haskell-platform-2012.4.0.0
QuickCheck-2.5.1.1
haskell98-2.0.0.1
ghc-7.4.2
Cabal-1.14.0
bin-package-db-0.0.0.0
hpc-0.5.1.1
text-0.11.2.0
parsec-3.1.2
stm-2.3
regex-posix-0.95.1
regex-compat-0.95.1
regex-base-0.93.2
parallel-3.2.0.2
haskell2010-1.1.0.1
haskell-src-1.0.1.5
fgl-5.4.2.4
template-haskell-2.7.0.0
hoopl-3.8.7.3
binary-0.5.1.0
GLUT-2.1.2.1
network-2.3.1.0
cgi-3001.1.7.4
blaze-builder-0.3.1.0
stm-2.4
async-2.0.1.3
regex-posix-0.95.2
regex-compat-0.95.1
regex-base-0.93.2
parallel-3.2.0.3
haskell2010-1.1.0.1
haskell-src-1.0.1.5
fgl-5.4.2.4
vector-0.10.0.1
vector-algorithms-0.5.4.2
math-functions-0.1.1.2
template-haskell-2.7.0.0
hoopl-3.8.7.3
binary-0.5.1.0
GLUT-2.1.2.1
HUnit-1.2.5.1
Use --force-reinstalls if you want to install anyway.

-------------------------------------------

From: Johan Tibell [mailto:johan.tibell <at> gmail.com] 
Cc: haskell-cafe <at> haskell.org; Andres Löh
Subject: Re: [Haskell-cafe] Cabal failures...

I'm not quite sure what's going on. I've CCed Andres, who wrote the new constraint solver.

One especially confusing part is this:

C:\Users\guthrie\AppData\Local\Temp\Cabal-1.16.0.3-12392\Cabal-1.16.0.3\dist\set
up\setup.exe
configure --verbose=2 --ghc --prefix=C:\Users\guthrie\AppData\Roaming\cabal
--user --flags=base4 --flags=base3 --constraint=process ==1.1.0.1
--constraint=pretty ==1.1.1.0 --constraint=old-time ==1.1.0.0
--constraint=filepath ==1.3.0.0 --constraint=directory ==1.1.0.2
--constraint=containers ==0.4.2.1 --constraint=base ==4.5.1.0
--constraint=array ==0.4.0.0 --disable-tests --disable-benchmarks
Configuring Cabal-1.16.0.3...
Flags chosen: base3=True, base4=True
Dependency array ==0.4.0.0: using array-0.4.0.0
Dependency base ==4.5.1.0: using base-4.5.1.0
Dependency containers ==0.4.2.1: using containers-0.4.2.1
Dependency directory ==1.1.0.2: using directory-1.1.0.2
Dependency filepath ==1.3.0.0: using filepath-1.3.0.0
Dependency old-time ==1.1.0.0: using old-time-1.1.0.0
Dependency pretty ==1.1.1.0: using pretty-1.1.1.0
Dependency process ==1.1.0.1: using process-1.1.0.1
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.

Why is Cabal setting both base3 and base4 to True?

P.S. You can try the same command with --solver=topdown and see if that works.

On Mon, Nov 19, 2012 at 8:22 PM, Gregory Guthrie <guthrie <at> mum.edu> wrote:
Johan, thanks for the note and information.
 
My setup is: (Windows 7)
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library
The Glorious Glasgow Haskell Compilation System, version 7.4.2
Haskell Platform 2012.4.0.0
 .....
cabal-install-1.16.0.2 depends on Cabal-1.16.0.3 which failed to install.
 
 
-------------------------------------------
 
Andres Löh | 20 Nov 13:19 2012

Re: Cabal failures...

Hi Johan.

I haven't looked in detail at the overall problem, but:

> Flags chosen: base3=True, base4=True
>
> Why is Cabal setting both base3 and base4 to True?

This looks completely fine to me.

The Cabal .cabal file is stating:

  if flag(base4) { build-depends: base >= 4 } else { build-depends: base < 4 }
  if flag(base3) { build-depends: base >= 3 } else { build-depends: base < 3 }

So it's relatively clear to me that both have to be true.

Cheers,
  Andres
Albert Y. C. Lai | 20 Nov 07:03 2012
Picon

Re: Cabal failures...

On 12-11-19 04:25 PM, Gregory Guthrie wrote:
> I am not exert in the area, but I wonder how /why/ this is different than other package managers, like apt in
Linux, I have never had any problems with it, and I would think that their dependencies are of at least
similar complexities.

I feel very strongly about the dissonance in comparing problems without 
comparing costs.

Debian has a horde of volunteers for just the menial and manual work of 
perpetually finding one coherent set of versions so end users don't have 
to. And in practice, There is never one coherent set of versions. There 
is only a not-too-incoherent set of versions, and the volunteers first 
have to decide on it, and then manually pick patches from other versions 
("backporting patches", "cherry-picking patches") to turn the 
not-too-incoherent set into a coherent set that does not exist in any 
pristine version.

On top of that, Mark Shuttleworth actually pays money for Ubuntu to 
start from Debian and further test the set, pick some more patches, 
unpick some other patches...

How many hours and/or dollars are you willing to pay for the menial, 
manual, perpetual chore of identifying coherent sets of versions so 
other people don't have to? And if a coherent set does not exist, how 
many are you willing to pay for backporting patches?

At least I paid my 3 hours to explain some cabal stuff at
http://www.vex.net/~trebla/haskell/sicp.xhtml

Even the Haskell Platform, one very small set, costs volunteer hours.
Gregory Guthrie | 20 Nov 14:48 2012

Re: Cabal failures...

Thanks to all for the comparisons between apt & cabal.
Your reply basically explains why it is broken, and gives a rationale (cost and trouble to do it), but no
prognosis for repair.

My interest is in using Haskell for teaching, and so far the package system failures often present problems
that I can't solve for all but the simplest examples, so I couldn't much pass this onto students! My
libraries may have gotten corrupted, so when I get time I will try to reset and clean out everything and
start over, but that will of course break a lot of things and take a lot of time for some re-installs, most
particularly things depending on underlying C libraries.

Any hints for a simple way to do this are welcome.

I look forward to the outcomes from the current cabal discussions.

It was also  interesting to note a comment that most developers don't have access to a Windows machine for
testing. With Windows at >90% of the computing market (Linux = 1.6%), this seems like a problem which might
limit growth of Haskell usage. Just an observation. :-)

Thanks for your article on the topic of Cabal - interesting!
----------------------------------------------
Date: Tue, 20 Nov 2012 01:03:20 -0500
From: "Albert Y. C. Lai" <trebla <at> vex.net>
Subject: Re: [Haskell-cafe] Cabal failures...

At least I paid my 3 hours to explain some cabal stuff at
http://www.vex.net/~trebla/haskell/sicp.xhtml
----------------------------------------------
Alexander Solla | 20 Nov 16:16 2012
Picon

Re: Cabal failures...


Thanks to all for the comparisons between apt & cabal.
Your reply basically explains why it is broken, and gives a rationale (cost and trouble to do it), but no prognosis for repair.

It's an open problem.

I make do with disposable sand-boxes, using cabal-dev to build them.  In this way, I can keep many (of my) libraries building, even if different libraries need incompatible versions of Hackage libraries.  If I run into a problem in a library's build environment, I either fix it surgically or nuke it, without affecting any other build environments.


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Albert Y. C. Lai | 20 Nov 17:51 2012
Picon

Re: Cabal failures...

On 12-11-20 08:48 AM, Gregory Guthrie wrote:
> It was also  interesting to note a comment that most developers don't have access to a Windows machine for
testing. With Windows at >90% of the computing market (Linux = 1.6%), this seems like a problem which might
limit growth of Haskell usage. Just an observation. :-)

There is a paradox in that sentence.

The first sentence says, most developers don't have access to Windows 
machines for testing. But they have access to Linux machines. Then 
Windows machines must be a scarcity compared to Linux machines, no? So 
scarce, you even have difficulty borrowing or renting.

Then the next sentence says, the scarcity is the other way round, Linux 
machines are scarce, Windows machines are abundant. OK, so why is it so 
hard to access something abundant, and so easy to access something scarce?
Gregory Guthrie | 20 Nov 23:37 2012

Re: Cabal failures...

No; the first sentence says that someone else had reported that testing on Windows was hard to do because of
(a perceived) lack of access to Windows by Haskell developers... The implication is that Haskell
developers (only/mainly) use *nix.
I commented that if true this lack of Windows testing could limit the availability of Haskell to the largest
market share of users.

-------------------------------------------
> Subject: Re: [Haskell-cafe] Cabal failures...
> To: haskell-cafe <at> haskell.org

> On 12-11-20 08:48 AM, Gregory Guthrie wrote:
> > It was also  interesting to note a comment that most developers don't
> > have access to a Windows machine for testing. With Windows at >90% of
> > the computing market (Linux = 1.6%), this seems like a problem which
> > might limit growth of Haskell usage. Just an observation. :-)
> 
> There is a paradox in that sentence.
> 
> The first sentence says, most developers don't have access to Windows machines for
> testing. But they have access to Linux machines. Then Windows machines must be a scarcity
> compared to Linux machines, no? So scarce, you even have difficulty borrowing or renting.
> 
> Then the next sentence says, the scarcity is the other way round, Linux machines are scarce,
> Windows machines are abundant. OK, so why is it so hard to access something abundant, and
> so easy to access something scarce?
> ------------------------------
Albert Y. C. Lai | 21 Nov 02:14 2012
Picon

Re: Cabal failures...

On 12-11-20 05:37 PM, Gregory Guthrie wrote:
> No; the first sentence says that someone else had reported that testing on Windows was hard to do because of
(a perceived) lack of access to Windows by Haskell developers... The implication is that Haskell
developers (only/mainly) use *nix.
> I commented that if true this lack of Windows testing could limit the availability of Haskell to the
largest market share of users.

Clearly, since >90% of computers have Windows, it should be trivial to 
find one to test on, if a programmer wants to. Surely every programmer 
is surrounded by Windows-using family and friends? (Perhaps to the 
programmer's dismay, too, because the perpetual "I've got a virus again, 
can you help?" is so annoying?) We are not talking about BeOS.

Therefore, if programmers do not test on Windows, it is because they do 
not want to.

And why would they want to?

Take webapp programmers for example. 99.999...% [1] of computers have 
sufficiently new web browsers. This market share is even higher than 
Windows. At the server side, the programmers have freedom in choosing 
the OS, and apparently, they choose anything but Windows, and this has 
never limited them in accessing >99.999...% of computer users.

And this, 99.999...% web browser market share, is exactly driving 
Haskell growth. Not the petty >90% Windows slice.

[1] http://en.wikipedia.org/wiki/0.999...
Johan Tibell | 21 Nov 02:20 2012
Picon

Re: Cabal failures...

On Tue, Nov 20, 2012 at 5:14 PM, Albert Y. C. Lai <trebla <at> vex.net> wrote:

On 12-11-20 05:37 PM, Gregory Guthrie wrote:
No; the first sentence says that someone else had reported that testing on Windows was hard to do because of (a perceived) lack of access to Windows by Haskell developers... The implication is that Haskell developers (only/mainly) use *nix.
I commented that if true this lack of Windows testing could limit the availability of Haskell to the largest market share of users.

Clearly, since >90% of computers have Windows, it should be trivial to find one to test on, if a programmer wants to. Surely every programmer is surrounded by Windows-using family and friends? (Perhaps to the programmer's dismay, too, because the perpetual "I've got a virus again, can you help?" is so annoying?) We are not talking about BeOS.

Therefore, if programmers do not test on Windows, it is because they do not want to.

This logic is flawed. More than 90% of computers having Windows doesn't imply that 90% of all computers in a given household runs Windows. What's the probability that your household has a Windows computer if you're a programmer that don't live with your parents? What if that programmer is an open source contributor. Surely not 90%.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Darren Grant | 21 Nov 02:28 2012
Picon

Re: Cabal failures...

Why not? Either way, I am chiming in as a programmer of many years. Unless using osx I stick with windows to avoid half-day forays into nettling technical issues that are not related to the work I am paid to perform. I would love for Haskell to work better there.

On Nov 20, 2012 5:21 PM, "Johan Tibell" <johan.tibell <at> gmail.com> wrote:
On Tue, Nov 20, 2012 at 5:14 PM, Albert Y. C. Lai <trebla <at> vex.net> wrote:
On 12-11-20 05:37 PM, Gregory Guthrie wrote:
No; the first sentence says that someone else had reported that testing on Windows was hard to do because of (a perceived) lack of access to Windows by Haskell developers... The implication is that Haskell developers (only/mainly) use *nix.
I commented that if true this lack of Windows testing could limit the availability of Haskell to the largest market share of users.

Clearly, since >90% of computers have Windows, it should be trivial to find one to test on, if a programmer wants to. Surely every programmer is surrounded by Windows-using family and friends? (Perhaps to the programmer's dismay, too, because the perpetual "I've got a virus again, can you help?" is so annoying?) We are not talking about BeOS.

Therefore, if programmers do not test on Windows, it is because they do not want to.

This logic is flawed. More than 90% of computers having Windows doesn't imply that 90% of all computers in a given household runs Windows. What's the probability that your household has a Windows computer if you're a programmer that don't live with your parents? What if that programmer is an open source contributor. Surely not 90%.


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Albert Y. C. Lai | 21 Nov 02:34 2012
Picon

Re: Cabal failures...

On 12-11-20 08:20 PM, Johan Tibell wrote:
> This logic is flawed. More than 90% of computers having Windows doesn't
> imply that 90% of all computers in a given household runs Windows.
> What's the probability that your household has a Windows computer if
> you're a programmer that don't live with your parents? What if that
> programmer is an open source contributor. Surely not 90%.

This counter-argument is flawed. Why limit oneself to one's own 
household? (Garage? Basement?) Get out more! Visit a friend. Talk to an 
internet cafe owner for a special deal to run one's own programs. Rent 
virtual machine time in the cloud. There are many creative, flexible, 
low-cost possibilities.

If one wants to.
Johan Tibell | 21 Nov 02:47 2012
Picon

Re: Cabal failures...

On Tue, Nov 20, 2012 at 5:34 PM, Albert Y. C. Lai <trebla <at> vex.net> wrote:

This counter-argument is flawed. Why limit oneself to one's own household? (Garage? Basement?) Get out more! Visit a friend. Talk to an internet cafe owner for a special deal to run one's own programs. Rent virtual machine time in the cloud. There are many creative, flexible, low-cost possibilities.

If one wants to.

Clearly this different approaches have different costs. Fixing a bug from my couch or asking some stranger at a cafe if I can install msys is quite different things. 
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Erik de Castro Lopo | 21 Nov 03:22 2012

Re: Cabal failures...

Albert Y. C. Lai wrote:

> This counter-argument is flawed. Why limit oneself to one's own 
> household? (Garage? Basement?) Get out more! Visit a friend.

If that friend is not a coder, they are unlikely to have the dev tools
installed.

> Talk to an 
> internet cafe owner for a special deal to run one's own programs.

Ditto.

> Rent virtual machine time in the cloud.

I've already thrown a bunch of money at the microsoft machine for very 
poor results. If someone else set up and ran windows VMs and gave me
access that would make testing on windows far more attractive.

I just found that Amazon AWS has a free teir that includes windows
as an option:

    https://aws.amazon.com/free/

Its still a huge sink of time and effort to set one up to a state where
its ready to build haskell packages. Maybe if someone set up a github
project that contained a script that could be downloaded onto a bare
windows machine and then bootstrap that machine into a full haskell dev
machine you might see some progress on this front.

Erik
--

-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
Niklas Larsson | 21 Nov 09:14 2012
Picon

Re: Cabal failures...

I just want to say that Windows support is much better than one could
get the impression from this thread. I use Haskell on Windows as well
as OSX and Linux. I think it works very well now, previously one had
to know a bit of trickery to get things done.

I don't think I have run into any more trouble on Windows than on the
unixes, certainly there has been less headaches than with OSX (mostly
GHC there), and you don't get the distro-hackage tension as on Linux.
It is a bit annoying that packages depending on unix don't just quit
upfront instead of installing a scad of dependencies first. But a
mucked up package database that this thread is about can happen on any
platform.

The problem seems to be that cabal-install is so wonderfully easy to
use that it obscures that there are no guarantees that things will
just work and that it is often quite possible to fix it yourself by a
tweak. If people think that what "cabal install" does behind the
scenes is some advanced magic, it will not occur to them that they can
do cabal unpack, fix the problem, and then cabal configure, cabal
build and cabal install.

Niklas

2012/11/21 Erik de Castro Lopo <mle+hs <at> mega-nerd.com>:
> Albert Y. C. Lai wrote:
>
>> This counter-argument is flawed. Why limit oneself to one's own
>> household? (Garage? Basement?) Get out more! Visit a friend.
>
> If that friend is not a coder, they are unlikely to have the dev tools
> installed.
>
>> Talk to an
>> internet cafe owner for a special deal to run one's own programs.
>
> Ditto.
>
>> Rent virtual machine time in the cloud.
>
> I've already thrown a bunch of money at the microsoft machine for very
> poor results. If someone else set up and ran windows VMs and gave me
> access that would make testing on windows far more attractive.
>
> I just found that Amazon AWS has a free teir that includes windows
> as an option:
>
>     https://aws.amazon.com/free/
>
> Its still a huge sink of time and effort to set one up to a state where
> its ready to build haskell packages. Maybe if someone set up a github
> project that contained a script that could be downloaded onto a bare
> windows machine and then bootstrap that machine into a full haskell dev
> machine you might see some progress on this front.
>
> Erik
> --
> ----------------------------------------------------------------------
> Erik de Castro Lopo
> http://www.mega-nerd.com/
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
Mike Meyer | 21 Nov 11:29 2012

Re: Cabal failures...

On Tue, Nov 20, 2012 at 7:34 PM, Albert Y. C. Lai <trebla <at> vex.net> wrote:
> On 12-11-20 08:20 PM, Johan Tibell wrote:
>> This logic is flawed. More than 90% of computers having Windows doesn't
>> imply that 90% of all computers in a given household runs Windows.
>> What's the probability that your household has a Windows computer if
>> you're a programmer that don't live with your parents? What if that
>> programmer is an open source contributor. Surely not 90%.
> This counter-argument is flawed. Why limit oneself to one's own household?
> (Garage? Basement?) Get out more! Visit a friend. Talk to an internet cafe
> owner for a special deal to run one's own programs. Rent virtual machine
> time in the cloud. There are many creative, flexible, low-cost
> possibilities.

The key word here is "low-cost". None of them are as low as the cost
of Linux, Solaris, *BSD, etc. Those are all free. There's even free VM
software available for them so you don't have to dedicate a machine to
it.

This actually makes the argument running in the other direction more
telling. It's less expensive for Windows users to get Unix/Linux than
Unix/Linux users to get Windows. If you want a Haskell environment to
work in, install VirtualBoxOSE (free) and a Linux distro (also free)
and work on that.

Of course, the real cost is that maintaining software that you aren't
using on a regular basis - which includes software you do use on a
platform you don't - is a PITA. Given that, why would anyone doing
something for free want to spend money for (access to a) copy of
Windows to build/test software they aren't going to use?

<Insert standard OSS rant about "do it yourself" here.>

    <mike
Erik de Castro Lopo | 21 Nov 03:05 2012

Re: Cabal failures...

Albert Y. C. Lai wrote:

> Clearly, since >90% of computers have Windows, it should be trivial to 
> find one to test on, if a programmer wants to. Surely every programmer 
> is surrounded by Windows-using family and friends? (Perhaps to the 
> programmer's dismay, too, because the perpetual "I've got a virus again, 
> can you help?" is so annoying?) We are not talking about BeOS.
> 
> Therefore, if programmers do not test on Windows, it is because they do 
> not want to.

I have been an open source contributor for over 15 years. All the general
purpose machines in my house run Linux. My father's and my mother-in-law's
computers also run Linux (easier for me to provide support). For testing
software, I have a PowerPC machine and virtual machines running various
versions of Linux, FreeBSD and OpenBSD.

What I don't have is a windows machine. I have, at numerous times, spent
considerable amounts of time (and even real money for licenses) setting
up (or rather trying to) windows in a VM and it is *always* considerably
more work to set up, maintain and fix when something goes wrong. Setting
up development tools is also a huge pain in the ass. And sooner or later
they fail in some way I can't fix and I have to start again. Often its
not worth the effort.

At my day job we have on-demand windows VMs, but I am not officially
allowed (nor do I intend to start) to use those resources for my open
source work.

So is it difficult for an open source contributor to test on windows?
Hell yes! You have no idea how hard windows is in comparison to say
FreeBSD. Even Apple's OS X is easier than windows, because I have
friends who can give me SSH access to their machines.

Erik
--

-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
Clark Gaebel | 21 Nov 03:21 2012
Picon
Picon

Re: Cabal failures...

+1 to this. The friction of finding, setting up, and using Windows isn't even comparable to just sshing into another unix box and testing something quickly.

As a university student, I also find it relatively rare that I get to test on a Windows machine. My personal computer runs linux, my technical friends run linux or osx, and my non-technical ones run osx. Also, all the school servers that I have access to run either FreeBSD or Linux.

If I want to run something on linux system, I have about 40 different computers that I can ssh into and run code on.

If I want to run something on osx, I just have to call a friend and ask if they can turn on their computer and allow me to ssh in (to my own account, of course).

If I want to run something on Windows, I have to track down a friend (in person!), ask to borrow their computer for a few hours, get administrator access to install the Haskell Platform, get frustrated that HP hasn't been upgraded to 7.6, and give up.

It's just not practical, especially for the large amount of small (<500 LOC) packages on Hackage.

  - Clark


On Tue, Nov 20, 2012 at 9:05 PM, Erik de Castro Lopo <mle+hs <at> mega-nerd.com> wrote:
Albert Y. C. Lai wrote:

> Clearly, since >90% of computers have Windows, it should be trivial to
> find one to test on, if a programmer wants to. Surely every programmer
> is surrounded by Windows-using family and friends? (Perhaps to the
> programmer's dismay, too, because the perpetual "I've got a virus again,
> can you help?" is so annoying?) We are not talking about BeOS.
>
> Therefore, if programmers do not test on Windows, it is because they do
> not want to.

I have been an open source contributor for over 15 years. All the general
purpose machines in my house run Linux. My father's and my mother-in-law's
computers also run Linux (easier for me to provide support). For testing
software, I have a PowerPC machine and virtual machines running various
versions of Linux, FreeBSD and OpenBSD.

What I don't have is a windows machine. I have, at numerous times, spent
considerable amounts of time (and even real money for licenses) setting
up (or rather trying to) windows in a VM and it is *always* considerably
more work to set up, maintain and fix when something goes wrong. Setting
up development tools is also a huge pain in the ass. And sooner or later
they fail in some way I can't fix and I have to start again. Often its
not worth the effort.

At my day job we have on-demand windows VMs, but I am not officially
allowed (nor do I intend to start) to use those resources for my open
source work.

So is it difficult for an open source contributor to test on windows?
Hell yes! You have no idea how hard windows is in comparison to say
FreeBSD. Even Apple's OS X is easier than windows, because I have
friends who can give me SSH access to their machines.

Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Gershom Bazerman | 21 Nov 03:55 2012
Picon

Windows Build Boxes (was Cabal failures...)

If some person or group of people is willing to administer and maintain windows build/testing boxes for the good of the Haskell community (perhaps even just for core infrastructure and an extended set of "blessed" libraries), I would be willing to contribute a decent sum to the procurement of these machines. I'm sure I am far from alone in this. It would be a very good use of our community resources to co-ordinate such efforts.

Cheers,
Gershom

On 11/20/12 9:21 PM, Clark Gaebel wrote:
+1 to this. The friction of finding, setting up, and using Windows isn't even comparable to just sshing into another unix box and testing something quickly.

As a university student, I also find it relatively rare that I get to test on a Windows machine. My personal computer runs linux, my technical friends run linux or osx, and my non-technical ones run osx. Also, all the school servers that I have access to run either FreeBSD or Linux.

If I want to run something on linux system, I have about 40 different computers that I can ssh into and run code on.

If I want to run something on osx, I just have to call a friend and ask if they can turn on their computer and allow me to ssh in (to my own account, of course).

If I want to run something on Windows, I have to track down a friend (in person!), ask to borrow their computer for a few hours, get administrator access to install the Haskell Platform, get frustrated that HP hasn't been upgraded to 7.6, and give up.

It's just not practical, especially for the large amount of small (<500 LOC) packages on Hackage.

  - Clark


On Tue, Nov 20, 2012 at 9:05 PM, Erik de Castro Lopo <mle+hs <at> mega-nerd.com> wrote:
Albert Y. C. Lai wrote:

> Clearly, since >90% of computers have Windows, it should be trivial to
> find one to test on, if a programmer wants to. Surely every programmer
> is surrounded by Windows-using family and friends? (Perhaps to the
> programmer's dismay, too, because the perpetual "I've got a virus again,
> can you help?" is so annoying?) We are not talking about BeOS.
>
> Therefore, if programmers do not test on Windows, it is because they do
> not want to.

I have been an open source contributor for over 15 years. All the general
purpose machines in my house run Linux. My father's and my mother-in-law's
computers also run Linux (easier for me to provide support). For testing
software, I have a PowerPC machine and virtual machines running various
versions of Linux, FreeBSD and OpenBSD.

What I don't have is a windows machine. I have, at numerous times, spent
considerable amounts of time (and even real money for licenses) setting
up (or rather trying to) windows in a VM and it is *always* considerably
more work to set up, maintain and fix when something goes wrong. Setting
up development tools is also a huge pain in the ass. And sooner or later
they fail in some way I can't fix and I have to start again. Often its
not worth the effort.

At my day job we have on-demand windows VMs, but I am not officially
allowed (nor do I intend to start) to use those resources for my open
source work.

So is it difficult for an open source contributor to test on windows?
Hell yes! You have no idea how hard windows is in comparison to say
FreeBSD. Even Apple's OS X is easier than windows, because I have
friends who can give me SSH access to their machines.

Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe <at> haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Richard O'Keefe | 21 Nov 22:32 2012
Picon

Re: Cabal failures...

Let's put some numbers on this.

(1) In this country, you can buy a second-hand dual core desktop for NZD 200
    (roughly USD 165, EUR 130).  You can buy a new laptop for NZD 400
    (roughly USD 330, EUR 260).  Not fancy machines, but more than adequate
    to compile and build stuff.  Shipping adds a fair bit to prices here.
    So it _must_ be possible to buy a Windows box of some kind adequate for
    compiling, building, and testing open source software, for even less
    than that in North America or Europe.

    It's really *NOT* the price of the box-with-Windows-installed.

(2) This department has a mix of Mac OS X, Linux (running on Apple dual-boot
    boxes), and Windows (running on Apple dual-boot boxes).  The University
    has quite a few Windows labs.   There would be _no_ students at this
    University who did not have ready access to a Windows machine whenever
    they wanted one.   The servers in the department all run some flavour of
    UNIX, true.

(3) Given an intel Solaris, intel Linux, or intel Mac OS X box, VirtualBox
    is free.  You can run Windows in VirtualBox.  Microsoft offer a full
    Windows 7 Professional licence to University students for USD 30.  So
    I really don't buy the idea of a student finding it hard to get Windows.
    My University is part of the MSDN Academic Alliance, so staff get stuff
    for no money of their own.

    Windows 7 Home Premium is USD 200, Professional USD 300.  Probably better
    to buy a cheap box that already has Windows.

What about software?

Well, Microsoft Visual Studio Professional 2012 is several times more expensive
than the box it runs on, and Office is not cheap either.  There are, as always,
special deals, e.g., https://www.dreamspark.com/Product/Product.aspx?productid=34
seems to make VC++ 2008 available free to students, and the MSDN Academic
Alliance makes this stuff easy for staff to get.  For everyone else,
Eclipse and NetBeans are free, and so are Cygwin and Mingw.

It took me about a day to download and install a large amount of free software,
giving me quite a decent environment.  (Of course, if someone were paying me to
do this, the University would charge NZD 150/hour, so "free" = NZD 1200 ...)
I even had Microsoft SUA (Services for Unix Applications -- think of it as
Cygwin from Microsoft but with a less horribly ugly terminal font).  I had ghc
and OCaml and SWI Prolog and Squeak and Dolphin Smalltalk and lots of good stuff.

So it's not really the availability of software either.

So am I a happy Windows hacker?

Actually, no.

I had a working tolerable setup under Windows Vista.   Despite its bad press, I
have to say I never had any trouble with Vista.  Then my (the department's) Mac
laptop needed something done to it -- I forget what -- and they said "while
we're at it, it would simplify our lives if we upgraded the Windows side to
Windows 7 like everyone else has now".  I said, "OK, but I _really_ don't want
to lose any of my programs."  And they lost everything beginning with the
letters M-Z, and what they didn't lose stopped working.  Apparently when
Windows went 64 bit they didn't leave \Program Files\ alone and add a
\Program Files 64\ directory.  Oh no!  Now \Program Files\ was exclusively
for 64-bit programs, and 32-bit ones were supposed to be in \Program Files (x86)\.
You can guess what that did to the surviving remnants of my environment.

How long did it take to rebuild my environment?
I don't know.  Except for installing Cygwin I haven't done it.
The changes to the user interface -- apparently just for the sake of change,
because absolutely nothing I do has become easier for me -- did nothing for
my facility with the system, and having to spend half an hour installing
updates every time I boot into Windows doesn't increase my enjoyment.
I don't want to even _think_ about Windows 8.

On 21/11/2012, at 3:21 PM, Clark Gaebel wrote:

> +1 to this. The friction of finding, setting up, and using Windows isn't even comparable to just sshing
into another unix box and testing something quickly.
> 
> As a university student, I also find it relatively rare that I get to test on a Windows machine. My personal
computer runs linux, my technical friends run linux or osx, and my non-technical ones run osx. Also, all
the school servers that I have access to run either FreeBSD or Linux.
> 
> If I want to run something on linux system, I have about 40 different computers that I can ssh into and run
code on.
> 
> If I want to run something on osx, I just have to call a friend and ask if they can turn on their computer and
allow me to ssh in (to my own account, of course).
> 
> If I want to run something on Windows, I have to track down a friend (in person!), ask to borrow their
computer for a few hours, get administrator access to install the Haskell Platform, get frustrated that
HP hasn't been upgraded to 7.6, and give up.
> 
> It's just not practical, especially for the large amount of small (<500 LOC) packages on Hackage.
> 
>   - Clark
> 
> 
> On Tue, Nov 20, 2012 at 9:05 PM, Erik de Castro Lopo <mle+hs <at> mega-nerd.com> wrote:
> Albert Y. C. Lai wrote:
> 
> > Clearly, since >90% of computers have Windows, it should be trivial to
> > find one to test on, if a programmer wants to. Surely every programmer
> > is surrounded by Windows-using family and friends? (Perhaps to the
> > programmer's dismay, too, because the perpetual "I've got a virus again,
> > can you help?" is so annoying?) We are not talking about BeOS.
> >
> > Therefore, if programmers do not test on Windows, it is because they do
> > not want to.
> 
> I have been an open source contributor for over 15 years. All the general
> purpose machines in my house run Linux. My father's and my mother-in-law's
> computers also run Linux (easier for me to provide support). For testing
> software, I have a PowerPC machine and virtual machines running various
> versions of Linux, FreeBSD and OpenBSD.
> 
> What I don't have is a windows machine. I have, at numerous times, spent
> considerable amounts of time (and even real money for licenses) setting
> up (or rather trying to) windows in a VM and it is *always* considerably
> more work to set up, maintain and fix when something goes wrong. Setting
> up development tools is also a huge pain in the ass. And sooner or later
> they fail in some way I can't fix and I have to start again. Often its
> not worth the effort.
> 
> At my day job we have on-demand windows VMs, but I am not officially
> allowed (nor do I intend to start) to use those resources for my open
> source work.
> 
> So is it difficult for an open source contributor to test on windows?
> Hell yes! You have no idea how hard windows is in comparison to say
> FreeBSD. Even Apple's OS X is easier than windows, because I have
> friends who can give me SSH access to their machines.
> 
> Erik
> --
> ----------------------------------------------------------------------
> Erik de Castro Lopo
> http://www.mega-nerd.com/
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe <at> haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
kudah | 23 Nov 09:53 2012
Picon

Re: Cabal failures...

Personally, I successfully use Wine to build, ship and test for Windows.
There are some pitfalls related to -optl-mwindows and encodings,
but, if you launch your program with $LANG set to proper windows
encoding like cp1251 and the std handles closed with  0>&- 1>&- 2>&-,
it should crash on related errors the same way as on windows.

I am not (yet) aware of any Haskell programs that don't run under Wine.

On Wed, 21 Nov 2012 13:05:45 +1100 Erik de Castro Lopo
<mle+hs <at> mega-nerd.com> wrote:

> So is it difficult for an open source contributor to test on windows?
> Hell yes! You have no idea how hard windows is in comparison to say
> FreeBSD. Even Apple's OS X is easier than windows, because I have
> friends who can give me SSH access to their machines.
Erik de Castro Lopo | 24 Nov 03:46 2012

Re: Cabal failures...

kudah wrote:

> Personally, I successfully use Wine to build, ship and test for Windows.
> There are some pitfalls related to -optl-mwindows and encodings,
> but, if you launch your program with $LANG set to proper windows
> encoding like cp1251 and the std handles closed with  0>&- 1>&- 2>&-,
> it should crash on related errors the same way as on windows.
> 
> I am not (yet) aware of any Haskell programs that don't run under Wine.

Thats a very interesting solution. I use Wine to run the test suite
when I cross compile one of my C projects from Linux to Wine.

Would you consider documenting the process of setting everything up
to build Haskell programs under Wine on the Haskell Wiki?

Erik
--

-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
kudah | 24 Nov 06:06 2012
Picon

Re: Cabal failures...

On Sat, 24 Nov 2012 13:46:37 +1100 Erik de Castro Lopo
<mle+hs <at> mega-nerd.com> wrote:

> kudah wrote:
> 
> > Personally, I successfully use Wine to build, ship and test for
> > Windows. There are some pitfalls related to -optl-mwindows and
> > encodings, but, if you launch your program with $LANG set to proper
> > windows encoding like cp1251 and the std handles closed with  0>&-
> > 1>&- 2>&-, it should crash on related errors the same way as on
> > 1>windows.
> > 
> > I am not (yet) aware of any Haskell programs that don't run under
> > Wine.
> 
> Thats a very interesting solution. I use Wine to run the test suite
> when I cross compile one of my C projects from Linux to Wine.
> 
> Would you consider documenting the process of setting everything up
> to build Haskell programs under Wine on the Haskell Wiki?
> 
> Erik

Aside from what I posted above it's same as on Windows, just install
Haskell Platform. There's already a page on Haskell Wiki
http://www.haskell.org/haskellwiki/GHC_under_Wine though it seems very
outdated. I can update it with my own observations when I get an HW
account, they seem to have switched to manual registration while I
wasn't looking.

Gmane