Re: Can't install packages with my inplace compiler

2014-11-05 Thread Duncan Coutts
On Tue, 2014-11-04 at 21:04 +, Simon Peyton Jones wrote:
 | Yeah, that's too old; and there's not been a release of a Cabal
 | which is new enough to do what you want.
 
 Wow!  I'm doing the most basic thing: using Cabal to install a package with a 
 specified GHC.
 
 I'll try what you suggest.

Actually I'd suggest you use the Cabal and cabal-install that are part
of the ghc source tree, rather than Cabal/cabal-install HEAD. The two
are not always the same.

We try to avoid getting into situations where older cabal binaries
cannot use the current ghc, but it does happen sometimes when we make
changes in ghc that are not fully backwards compatible. In this case we
(or rather I) removed ghc's support for single-file style package dbs
and we later discovered that Cabal was in one place still using that
style. It's plausible that we might want to add back some hack to
ghc-pkg to allow older Cabal versions to work with ghc head.

So in this situation we have to use the Cabal library (that you built
with ghc head), to build cabal-install and its dependencies in the old
style, using Setup.hs. That'll also need the dev version of zlib, due to
the AMP things.

 Duncan: would a release be a good plan?

We tend not to make intermediate releases to support ghc head because
when we're making changes to work with ghc head we're not always in a
good spot to make releases for the general public (we tend to be in the
middle of things and not have enough testing feedback). Also, people
using ghc head already have the corresponding version of
Cabal/cabal-install in their source tree which they can install and use.

On the other hand, when we think we're in a reasonable state with Cabal
testing, and ghc is getting into release mode and we have more people
needing to test ghc head, then of course making a release becomes
important.

My point is that when Edward and I were making all these breaking
changes to Cabal/ghc in the packaging area is exactly the wrong time to
make a cabal release. In this situation we just have to tell ghc hackers
to use the Cabal/cabal-install from the ghc tree.

-- 
Duncan Coutts, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


RE: Can't install packages with my inplace compiler

2014-11-05 Thread Simon Peyton Jones
|  Actually I'd suggest you use the Cabal and cabal-install that are part
|  of the ghc source tree, rather than Cabal/cabal-install HEAD. The two
|  are not always the same.

Aha ok, thank you.  How exactly do I do that?  Where is the executable 
cabal-install in the tree?  IN inplace/bin I see an executable ghc-cabal. Is 
that it?

Alternatively, Plan B on 
https://ghc.haskell.org/trac/ghc/wiki/Debugging/InstallingPackagesInplace
(which I confess I'd forgotten about) describes a different plan that doesn't 
mention cabal-install at all.  Is that better?

Thanks

Simon

|  -Original Message-
|  From: Duncan Coutts [mailto:dun...@well-typed.com]
|  Sent: 05 November 2014 09:41
|  To: Simon Peyton Jones
|  Cc: Edward Z. Yang; Herbert Valerio Riedel; GHC Devs
|  Subject: Re: Can't install packages with my inplace compiler
|  
|  On Tue, 2014-11-04 at 21:04 +, Simon Peyton Jones wrote:
|   | Yeah, that's too old; and there's not been a release of a Cabal
|   | which is new enough to do what you want.
|  
|   Wow!  I'm doing the most basic thing: using Cabal to install a
|  package with a specified GHC.
|  
|   I'll try what you suggest.
|  
|  Actually I'd suggest you use the Cabal and cabal-install that are part
|  of the ghc source tree, rather than Cabal/cabal-install HEAD. The two
|  are not always the same.
|  
|  We try to avoid getting into situations where older cabal binaries
|  cannot use the current ghc, but it does happen sometimes when we make
|  changes in ghc that are not fully backwards compatible. In this case
|  we (or rather I) removed ghc's support for single-file style package
|  dbs and we later discovered that Cabal was in one place still using
|  that style. It's plausible that we might want to add back some hack to
|  ghc-pkg to allow older Cabal versions to work with ghc head.
|  
|  So in this situation we have to use the Cabal library (that you built
|  with ghc head), to build cabal-install and its dependencies in the old
|  style, using Setup.hs. That'll also need the dev version of zlib, due
|  to the AMP things.
|  
|   Duncan: would a release be a good plan?
|  
|  We tend not to make intermediate releases to support ghc head because
|  when we're making changes to work with ghc head we're not always in a
|  good spot to make releases for the general public (we tend to be in
|  the middle of things and not have enough testing feedback). Also,
|  people using ghc head already have the corresponding version of
|  Cabal/cabal-install in their source tree which they can install and
|  use.
|  
|  On the other hand, when we think we're in a reasonable state with
|  Cabal testing, and ghc is getting into release mode and we have more
|  people needing to test ghc head, then of course making a release
|  becomes important.
|  
|  My point is that when Edward and I were making all these breaking
|  changes to Cabal/ghc in the packaging area is exactly the wrong time
|  to make a cabal release. In this situation we just have to tell ghc
|  hackers to use the Cabal/cabal-install from the ghc tree.
|  
|  --
|  Duncan Coutts, Haskell Consultant
|  Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Can't install packages with my inplace compiler

2014-11-05 Thread Sven Panne
Hmmm, is this cabal mess the reason for the problems with GHC head and
Cabal head on https://travis-ci.org/haskell-opengl/StateVar/jobs/39533455#L102?
I've brought up the problem in another thread, but there was no
conclusion. As it is, there seems to be no way to test things with GHC
head on Travis CI, which is really bad. :-/ What can be done here?
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Can't install packages with my inplace compiler

2014-11-04 Thread Simon Peyton Jones
When I say


cabal install --with-ghc=/home/simonpj/5builds/HEAD-2/inplace/bin/ghc-stage2

I get this


ghc-stage2: ghc no longer supports single-file style package databases 
(dist/package.conf.inplace) use 'ghc-pkg init' to create the database with the 
correct format.

Now, this is an old build tree, and I could blow it away entirely, but maybe 
there is something else going on.  What should I do?

Thanks (all on Linux)

Simon
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Can't install packages with my inplace compiler

2014-11-04 Thread Herbert Valerio Riedel
Hello Simon,

On 2014-11-04 at 11:55:48 +0100, Simon Peyton Jones wrote:
 When I say

 cabal install --with-ghc=/home/simonpj/5builds/HEAD-2/inplace/bin/ghc-stage2

 I get this

 ghc-stage2: ghc no longer supports single-file style package databases
 (dist/package.conf.inplace) use 'ghc-pkg init' to create the database
 with the correct format.

 Now, this is an old build tree, and I could blow it away entirely, but
 maybe there is something else going on.  What should I do?

What does `cabal --version` say? If it doesn't say something like

  $ cabal --version
  cabal-install version 1.21.1.0
  using version 1.21.1.0 of the Cabal library 

you probably need a newer one (in which case you should build the
`cabal` binary from Git, and to make life easier compile `Cabal` and
`cabal-install` with GHC 7.8.x rather than GHC HEAD)

Cheers,
  hvr
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


RE: Can't install packages with my inplace compiler

2014-11-04 Thread Simon Peyton Jones
It says 

simonpj@cam-05-unx:~/tmp/singletons-1.0$ cabal --version
cabal-install version 1.21.0.0
using version 1.21.0.0 of the Cabal library


Oddly if I try cabal update; cabal install cabal-install it says:
Resolving dependencies...
Downloading Cabal-1.20.0.2...

so it looks as if it's about to install an *older* version than the one I have 
already!

What now?

Thanks

SImon

|  -Original Message-
|  From: Herbert Valerio Riedel [mailto:hvrie...@gmail.com]
|  Sent: 04 November 2014 11:20
|  To: Simon Peyton Jones
|  Cc: GHC Devs
|  Subject: Re: Can't install packages with my inplace compiler
|  
|  Hello Simon,
|  
|  On 2014-11-04 at 11:55:48 +0100, Simon Peyton Jones wrote:
|   When I say
|  
|   cabal install
|   --with-ghc=/home/simonpj/5builds/HEAD-2/inplace/bin/ghc-stage2
|  
|   I get this
|  
|   ghc-stage2: ghc no longer supports single-file style package
|  databases
|   (dist/package.conf.inplace) use 'ghc-pkg init' to create the
|  database
|   with the correct format.
|  
|   Now, this is an old build tree, and I could blow it away entirely,
|  but
|   maybe there is something else going on.  What should I do?
|  
|  What does `cabal --version` say? If it doesn't say something like
|  
|$ cabal --version
|cabal-install version 1.21.1.0
|using version 1.21.1.0 of the Cabal library
|  
|  you probably need a newer one (in which case you should build the
|  `cabal` binary from Git, and to make life easier compile `Cabal` and
|  `cabal-install` with GHC 7.8.x rather than GHC HEAD)
|  
|  Cheers,
|hvr
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


RE: Can't install packages with my inplace compiler

2014-11-04 Thread Edward Z. Yang
Yeah, that's too old; and there's not been a release of a Cabal
which is new enough to do what you want.

Try:

git clone https://github.com/haskell/cabal
cd cabal/Cabal
cabal install
cd ../cabal-install
cabal install

Edward

Excerpts from Simon Peyton Jones's message of 2014-11-04 03:59:57 -0800:
 It says 
 
 simonpj@cam-05-unx:~/tmp/singletons-1.0$ cabal --version
 cabal-install version 1.21.0.0
 using version 1.21.0.0 of the Cabal library
 
 
 Oddly if I try cabal update; cabal install cabal-install it says:
 Resolving dependencies...
 Downloading Cabal-1.20.0.2...
 
 so it looks as if it's about to install an *older* version than the one I 
 have already!
 
 What now?
 
 Thanks
 
 SImon
 
 |  -Original Message-
 |  From: Herbert Valerio Riedel [mailto:hvrie...@gmail.com]
 |  Sent: 04 November 2014 11:20
 |  To: Simon Peyton Jones
 |  Cc: GHC Devs
 |  Subject: Re: Can't install packages with my inplace compiler
 |  
 |  Hello Simon,
 |  
 |  On 2014-11-04 at 11:55:48 +0100, Simon Peyton Jones wrote:
 |   When I say
 |  
 |   cabal install
 |   --with-ghc=/home/simonpj/5builds/HEAD-2/inplace/bin/ghc-stage2
 |  
 |   I get this
 |  
 |   ghc-stage2: ghc no longer supports single-file style package
 |  databases
 |   (dist/package.conf.inplace) use 'ghc-pkg init' to create the
 |  database
 |   with the correct format.
 |  
 |   Now, this is an old build tree, and I could blow it away entirely,
 |  but
 |   maybe there is something else going on.  What should I do?
 |  
 |  What does `cabal --version` say? If it doesn't say something like
 |  
 |$ cabal --version
 |cabal-install version 1.21.1.0
 |using version 1.21.1.0 of the Cabal library
 |  
 |  you probably need a newer one (in which case you should build the
 |  `cabal` binary from Git, and to make life easier compile `Cabal` and
 |  `cabal-install` with GHC 7.8.x rather than GHC HEAD)
 |  
 |  Cheers,
 |hvr
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


RE: Can't install packages with my inplace compiler

2014-11-04 Thread Simon Peyton Jones
| Yeah, that's too old; and there's not been a release of a Cabal
| which is new enough to do what you want.

Wow!  I'm doing the most basic thing: using Cabal to install a package with a 
specified GHC.

I'll try what you suggest.

Duncan: would a release be a good plan?

Simon

| 
| Try:
| 
| git clone https://github.com/haskell/cabal
| cd cabal/Cabal
| cabal install
| cd ../cabal-install
| cabal install
| 
| Edward
| 
| Excerpts from Simon Peyton Jones's message of 2014-11-04 03:59:57 -0800:
|  It says
| 
|  simonpj@cam-05-unx:~/tmp/singletons-1.0$ cabal --version
|  cabal-install version 1.21.0.0
|  using version 1.21.0.0 of the Cabal library
| 
| 
|  Oddly if I try cabal update; cabal install cabal-install it says:
|  Resolving dependencies...
|  Downloading Cabal-1.20.0.2...
| 
|  so it looks as if it's about to install an *older* version than the one
| I have already!
| 
|  What now?
| 
|  Thanks
| 
|  SImon
| 
|  |  -Original Message-
|  |  From: Herbert Valerio Riedel [mailto:hvrie...@gmail.com]
|  |  Sent: 04 November 2014 11:20
|  |  To: Simon Peyton Jones
|  |  Cc: GHC Devs
|  |  Subject: Re: Can't install packages with my inplace compiler
|  |
|  |  Hello Simon,
|  |
|  |  On 2014-11-04 at 11:55:48 +0100, Simon Peyton Jones wrote:
|  |   When I say
|  |  
|  |   cabal install
|  |   --with-ghc=/home/simonpj/5builds/HEAD-2/inplace/bin/ghc-stage2
|  |  
|  |   I get this
|  |  
|  |   ghc-stage2: ghc no longer supports single-file style package
|  |  databases
|  |   (dist/package.conf.inplace) use 'ghc-pkg init' to create the
|  |  database
|  |   with the correct format.
|  |  
|  |   Now, this is an old build tree, and I could blow it away entirely,
|  |  but
|  |   maybe there is something else going on.  What should I do?
|  |
|  |  What does `cabal --version` say? If it doesn't say something like
|  |
|  |$ cabal --version
|  |cabal-install version 1.21.1.0
|  |using version 1.21.1.0 of the Cabal library
|  |
|  |  you probably need a newer one (in which case you should build the
|  |  `cabal` binary from Git, and to make life easier compile `Cabal` and
|  |  `cabal-install` with GHC 7.8.x rather than GHC HEAD)
|  |
|  |  Cheers,
|  |hvr
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs