Send Beginners mailing list submissions to
        beginners@haskell.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        beginners-requ...@haskell.org

You can reach the person managing the list at
        beginners-ow...@haskell.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  How to install new GHC ? (Francesco Ariis)
   2. Re:  How to install new GHC ? (Baa)
   3. Re:  How to install new GHC ? (Baa)
   4. Re:  How to install new GHC ? (Michael Snoyman)


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

Message: 1
Date: Tue, 12 Dec 2017 15:21:19 +0100
From: Francesco Ariis <fa...@ariis.it>
To: beginners@haskell.org
Subject: Re: [Haskell-beginners] How to install new GHC ?
Message-ID: <20171212142119.3povve3ygsuq2...@x60s.casa>
Content-Type: text/plain; charset=us-ascii

On Tue, Dec 12, 2017 at 04:06:44PM +0200, Baa wrote:
> I done it, but got the same error. My project uses several my packages
> (libraries), they are called 'my-*'. I changed in their .cabal-files
> versions range of "base" too, but error is the same. Build-depends
> stanza of executable looks like:
> 
> [...]

Ok, most likey some package maintainer hasn't update their boundaries
to work with 8.2.2.
Go with

    cabal new-build --allow-newer

and maybe politely nudge maintainers to relax their dep.bounds
appropriately
-F


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

Message: 2
Date: Tue, 12 Dec 2017 16:33:13 +0200
From: Baa <aqua...@gmail.com>
To: beginners@haskell.org
Subject: Re: [Haskell-beginners] How to install new GHC ?
Message-ID: <20171212163313.65b37337@Pavel>
Content-Type: text/plain; charset=UTF-8

@Michael Snoyman:

I returned back all .cabal-files and added compiler: ghc-8.2.2, `stack build`
printed out this:

---cut---
  Error: While constructing the build plan, the following exceptions were 
encountered:

  In the dependencies for Cabal-1.24.2.0:
      process-1.6.1.0 from stack configuration does not match >=1.1.0.1 && <1.5 
(latest matching version is 1.4.3.0)
  needed due to my-common-utils-0.2.0.0 -> Cabal-1.24.2.0

  In the dependencies for versions-3.1.1:
      base-4.10.1.0 from stack configuration does not match >=4.8 && <4.10 
(latest matching version is 4.9.1.0)
  needed due to my-common-utils-0.2.0.0 -> versions-3.1.1

  Some potential ways to resolve this:

    * Recommended action: try adding the following to your extra-deps in 
/home/pavel/prj/automation/revcompl-mon/stack.yaml:

  - base-4.9.1.0
  - process-1.4.3.0

    * Set 'allow-newer: true' to ignore all version constraints and build 
anyway.

    * You may also want to try using the 'stack solver' command.

  Plan construction failed.
---cut---

After adding "allow-newer: true" build process starts, all looked fine until:

   .../SimpleTagging.hs:281:51: error:
        • Couldn't match type ‘Type’ with ‘DerivClause’
          Expected type: [DerivClause]
            Actual type: [Type]
        • In the sixth argument of ‘DataD’, namely ‘derivs'’
          In the expression: DataD [] ty' tyVars Nothing newCs derivs'
          In the first argument of ‘(++)’, namely
            ‘[DataD [] ty' tyVars Nothing newCs derivs']’
        |
    281 |       return $ [DataD [] ty' tyVars Nothing newCs derivs'] ++ showInst
        |                                                   ^^^^^^^

which IMHO means that TemplateHaskell ("API") was changed from 8.0.2 to
8.2.2 because the same code is compiling with old GHC 8.0.2.


> Hi Paul,
> 
> A Stackage snapshot specifies both a GHC version and a set of
> packages. Stackage snapshots are built and tested to ensure that the
> packages are compatible. While you could tell Stack to use a
> different GHC version with a snapshot[1], this is unlikely to work,
> since GHC major releases usually break some packages.
> 
> I think everyone who's trying to help you (both with Cabal and Stack
> workflows) would be able to do so better if you explain which package
> you're trying to use which is no longer available in Stackage
> Nightly. In some cases, you can simply add it as an extra
> dependencies for Stack (e.g., `extra-deps: [acme-missiles-0.3]`),
> while in others there is some inherent incompatibility.
> 
> Right now, you'll just be getting guesses about how to theoretically
> get some unknown package to build with a bunch of others.
> 
> Michael
> 
> [1] Using a setting like `compiler: ghc-8.2.2`
> 
> On Tue, Dec 12, 2017 at 3:43 PM, Baa <aqua...@gmail.com> wrote:
> 
> > @David: I tried to switch to nightly but in project's .yaml file and
> > got error about missing of some library (as I understand, it is
> > missing in last nightly). So, if I try to do it through .yaml file
> > then how to use new GHC (8.2.2) but with LTS for 8.0.2? Is it
> > possible? I need last stable LTS where all libraries (using in the
> > projects) exist, but with new GHC 8.2.2 which is too new for stable
> > LTS. As I read somewhere, GHC version and Stackage version are
> > linked together hardly in stack tool, or?
> >  
> > > You can see how to configure stack here:
> > > https://github.com/commercialhaskell/stack/blob/release/doc/yaml_  
> > configuration.md  
> > >
> > > The short of it is that to have stack ghci choose a particular
> > > version of ghc, you probably need to modify
> > > ~/.stack/global/stack.yaml, change resolver to something here
> > > https://www.stackage.org/snapshots that has your version of ghc
> > > and dependencies similar to what your project wants.  For example
> > > 'nightly-2017-12-10'.
> > >
> > > On Tue, Dec 12, 2017 at 7:53 AM, Baa <aqua...@gmail.com> wrote:
> > >  
> > > > @Francesco: unfortunately nightly misses some package. So, I
> > > > tried:
> > > >
> > > >   $ stack --resolver=ghc-8.2.2 setup --reinstall
> > > >   Preparing to install GHC (tinfo6) to an isolated location.
> > > > This will not interfere with any system-level installation.
> > > > Already downloaded. Installed GHC.
> > > >
> > > >   stack will use a sandboxed GHC it installed
> > > >   For more information on paths, see 'stack path' and 'stack
> > > > exec env' To use this GHC and packages outside of a project,
> > > > consider using: stack ghc, stack ghci, stack runghc, or stack
> > > > exec
> > > >
> > > > So seems that 8.2.2 was installed, right? But how to build the
> > > > project with new GHC now? I never used cabal before, `stack
> > > > ghci` still runs 8.0.2 instead of 8.2.2. Installed GHC 8.2.2
> > > > does not correspond to .yaml file LTS - maybe this is a reason
> > > > why old 8.0.2 is stil used...
> > > >
> > > > When I try cabal build/new-build/repl I get:
> > > >
> > > >   cabal: The program 'ghc' version >=6.4 is required but it
> > > > could not be found.
> > > >
> > > > So, cabal does not know about installed GHC versions (at least
> > > > 8.0.2, used by stack). I tried --require-sandbox but without
> > > > success.
> > > >
> > > >  
> > > > > On Tue, Dec 12, 2017 at 01:56:03PM +0200, Baa wrote:  
> > > > > > Would somebody explain me what is wrong here and how I can
> > > > > > test a project with new 8.2.2 GHC?  
> > > > >
> > > > > Hello Paul, I don't think stack lts has 8.2.2 just yet. Use a
> > > > > nightly or download/install ghc from here and compile your
> > > > > project with the new `cabal new-build`.
> > > > >
> > > > > [1]
> > > > > https://www.haskell.org/ghc/download_ghc_8_2_2.html#binaries
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Beginners mailing list
> > > > > Beginners@haskell.org
> > > > > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners  
> > > >
> > > > _______________________________________________
> > > > Beginners mailing list
> > > > Beginners@haskell.org
> > > > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> > > >  
> >
> > _______________________________________________
> > Beginners mailing list
> > Beginners@haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> >  



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

Message: 3
Date: Tue, 12 Dec 2017 16:48:31 +0200
From: Baa <aqua...@gmail.com>
To: beginners@haskell.org
Subject: Re: [Haskell-beginners] How to install new GHC ?
Message-ID: <20171212164831.42cc92bb@Pavel>
Content-Type: text/plain; charset=US-ASCII

@Francesco: seems that code which I tried to test with new compiler is
out-of-date for it's Template Haskell "API".

@David: I planned to check existing code with new compiler (to be sure
that my code is OK), but seems that it needs to re-wrire the code, so
I will comment problematic test, GHC bug happens only is the test and
not in usual application code.

@all: Thanks a lot for all tips and help!!

PS. IMHO seems that Template Haskell gives more problems then solves
them :)

===
Best regards, Paul

> If your original goal was to test for a ghc panic in newer ghc, my
> final suggestion would be to get a minimal example that panics
> without all these extra dependencies.  If you happen to find that the
> bug exists in newer ghc,  you'd have to do that anyways to submit a
> useful bug report.
> 
> On Tue, Dec 12, 2017 at 9:06 AM, Baa <aqua...@gmail.com> wrote:
> 
> > I done it, but got the same error. My project uses several my
> > packages (libraries), they are called 'my-*'. I changed in
> > their .cabal-files versions range of "base" too, but error is the
> > same. Build-depends stanza of executable looks like:
> >
> >   build-depends:       base >= 4.9 && < 4.11
> >                      , text
> >                      , my-common-utils
> >                      , my-atlassian-utils
> >                      , my-jenkins-utils
> >                      , my-git-utils
> >                      , aeson
> >                      , network-uri
> >                      , network-info
> >                      , text-show
> >                      , hslogger
> >                      , bytestring
> >                      , transformers
> >                      , aeson-pretty
> >                      , time
> >                      , email-validate
> >                      , streaming
> >                      , containers
> >                      , sqlite-simple
> >                      , directory
> >                      , tuple
> >                      , async
> >                      , mime-mail
> >                      , HaskellNet
> >                      , HaskellNet-SSL
> >                      , mustache
> >                      , path
> >                      , exceptions
> >                      , mono-traversable
> >                      , data-default-class
> >                      , path-io
> >                      , split
> >                      , microlens
> >                      , microlens-th
> >                      , regex-pcre
> >                      , pcre-utils
> >                      , unordered-containers
> >                      , formatting
> >
> >  
> > > On Tue, Dec 12, 2017 at 03:38:30PM +0200, Baa wrote:  
> > > > 1. GHC 8.2.2 is here:
> > > >    ~/.stack/programs/x86_64-linux/ghc-tinfo6-8.2.2/bin
> > > > 2. done
> > > > 3. yes, it's 8.2.2
> > > > 4. `cabal new-build` said to me call `cabal update`, I done it,
> > > > then run it again and got:
> > > >     $ cabal new-build
> > > >     Resolving dependencies...
> > > >     cabal: Could not resolve dependencies:
> > > >     trying: XXX-0.5.0.0 (user goal)
> > > >     next goal: YYY-utils (dependency of XXX-0.5.0.0)
> > > >     Dependency tree exhaustively searched.  
> > >
> > > Good, we're almost there!
> > >
> > > I strongly suspect it is a base constraint. Go in your
> > > something.cabal file, build-depends section(s) and modify it from:
> > >
> > >     base >= 4.somenumber && < 4.10
> > >
> > > to
> > >
> > >     base >= 4.somenumber && < 4.11
> > >
> > > And try cabal new-build again. If that fails, please include the
> > > content of your `build-depends:` portion in your message
> > > -F
> > > _______________________________________________
> > > Beginners mailing list
> > > Beginners@haskell.org
> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners  
> >
> > _______________________________________________
> > Beginners mailing list
> > Beginners@haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> >  



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

Message: 4
Date: Tue, 12 Dec 2017 14:50:18 +0000
From: Michael Snoyman <mich...@snoyman.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: Re: [Haskell-beginners] How to install new GHC ?
Message-ID:
        <cakt9ecmanhe9gntsenu_kvchitktm67rrouhpj4gseb7_tr...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

That's right, the template-haskell API frequently changes between major
releases of GHC.

On Tue, Dec 12, 2017, 4:35 PM Baa <aqua...@gmail.com> wrote:

> @Michael Snoyman:
>
> I returned back all .cabal-files and added compiler: ghc-8.2.2, `stack
> build`
> printed out this:
>
> ---cut---
>   Error: While constructing the build plan, the following exceptions were
> encountered:
>
>   In the dependencies for Cabal-1.24.2.0:
>       process-1.6.1.0 from stack configuration does not match >=1.1.0.1 &&
> <1.5 (latest matching version is 1.4.3.0)
>   needed due to my-common-utils-0.2.0.0 -> Cabal-1.24.2.0
>
>   In the dependencies for versions-3.1.1:
>       base-4.10.1.0 from stack configuration does not match >=4.8 && <4.10
> (latest matching version is 4.9.1.0)
>   needed due to my-common-utils-0.2.0.0 -> versions-3.1.1
>
>   Some potential ways to resolve this:
>
>     * Recommended action: try adding the following to your extra-deps in
> /home/pavel/prj/automation/revcompl-mon/stack.yaml:
>
>   - base-4.9.1.0
>   - process-1.4.3.0
>
>     * Set 'allow-newer: true' to ignore all version constraints and build
> anyway.
>
>     * You may also want to try using the 'stack solver' command.
>
>   Plan construction failed.
> ---cut---
>
> After adding "allow-newer: true" build process starts, all looked fine
> until:
>
>    .../SimpleTagging.hs:281:51: error:
>         • Couldn't match type ‘Type’ with ‘DerivClause’
>           Expected type: [DerivClause]
>             Actual type: [Type]
>         • In the sixth argument of ‘DataD’, namely ‘derivs'’
>           In the expression: DataD [] ty' tyVars Nothing newCs derivs'
>           In the first argument of ‘(++)’, namely
>             ‘[DataD [] ty' tyVars Nothing newCs derivs']’
>         |
>     281 |       return $ [DataD [] ty' tyVars Nothing newCs derivs'] ++
> showInst
>         |                                                   ^^^^^^^
>
> which IMHO means that TemplateHaskell ("API") was changed from 8.0.2 to
> 8.2.2 because the same code is compiling with old GHC 8.0.2.
>
>
> > Hi Paul,
> >
> > A Stackage snapshot specifies both a GHC version and a set of
> > packages. Stackage snapshots are built and tested to ensure that the
> > packages are compatible. While you could tell Stack to use a
> > different GHC version with a snapshot[1], this is unlikely to work,
> > since GHC major releases usually break some packages.
> >
> > I think everyone who's trying to help you (both with Cabal and Stack
> > workflows) would be able to do so better if you explain which package
> > you're trying to use which is no longer available in Stackage
> > Nightly. In some cases, you can simply add it as an extra
> > dependencies for Stack (e.g., `extra-deps: [acme-missiles-0.3]`),
> > while in others there is some inherent incompatibility.
> >
> > Right now, you'll just be getting guesses about how to theoretically
> > get some unknown package to build with a bunch of others.
> >
> > Michael
> >
> > [1] Using a setting like `compiler: ghc-8.2.2`
> >
> > On Tue, Dec 12, 2017 at 3:43 PM, Baa <aqua...@gmail.com> wrote:
> >
> > > @David: I tried to switch to nightly but in project's .yaml file and
> > > got error about missing of some library (as I understand, it is
> > > missing in last nightly). So, if I try to do it through .yaml file
> > > then how to use new GHC (8.2.2) but with LTS for 8.0.2? Is it
> > > possible? I need last stable LTS where all libraries (using in the
> > > projects) exist, but with new GHC 8.2.2 which is too new for stable
> > > LTS. As I read somewhere, GHC version and Stackage version are
> > > linked together hardly in stack tool, or?
> > >
> > > > You can see how to configure stack here:
> > > > https://github.com/commercialhaskell/stack/blob/release/doc/yaml_
> > > configuration.md
> > > >
> > > > The short of it is that to have stack ghci choose a particular
> > > > version of ghc, you probably need to modify
> > > > ~/.stack/global/stack.yaml, change resolver to something here
> > > > https://www.stackage.org/snapshots that has your version of ghc
> > > > and dependencies similar to what your project wants.  For example
> > > > 'nightly-2017-12-10'.
> > > >
> > > > On Tue, Dec 12, 2017 at 7:53 AM, Baa <aqua...@gmail.com> wrote:
> > > >
> > > > > @Francesco: unfortunately nightly misses some package. So, I
> > > > > tried:
> > > > >
> > > > >   $ stack --resolver=ghc-8.2.2 setup --reinstall
> > > > >   Preparing to install GHC (tinfo6) to an isolated location.
> > > > > This will not interfere with any system-level installation.
> > > > > Already downloaded. Installed GHC.
> > > > >
> > > > >   stack will use a sandboxed GHC it installed
> > > > >   For more information on paths, see 'stack path' and 'stack
> > > > > exec env' To use this GHC and packages outside of a project,
> > > > > consider using: stack ghc, stack ghci, stack runghc, or stack
> > > > > exec
> > > > >
> > > > > So seems that 8.2.2 was installed, right? But how to build the
> > > > > project with new GHC now? I never used cabal before, `stack
> > > > > ghci` still runs 8.0.2 instead of 8.2.2. Installed GHC 8.2.2
> > > > > does not correspond to .yaml file LTS - maybe this is a reason
> > > > > why old 8.0.2 is stil used...
> > > > >
> > > > > When I try cabal build/new-build/repl I get:
> > > > >
> > > > >   cabal: The program 'ghc' version >=6.4 is required but it
> > > > > could not be found.
> > > > >
> > > > > So, cabal does not know about installed GHC versions (at least
> > > > > 8.0.2, used by stack). I tried --require-sandbox but without
> > > > > success.
> > > > >
> > > > >
> > > > > > On Tue, Dec 12, 2017 at 01:56:03PM +0200, Baa wrote:
> > > > > > > Would somebody explain me what is wrong here and how I can
> > > > > > > test a project with new 8.2.2 GHC?
> > > > > >
> > > > > > Hello Paul, I don't think stack lts has 8.2.2 just yet. Use a
> > > > > > nightly or download/install ghc from here and compile your
> > > > > > project with the new `cabal new-build`.
> > > > > >
> > > > > > [1]
> > > > > > https://www.haskell.org/ghc/download_ghc_8_2_2.html#binaries
> > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > Beginners mailing list
> > > > > > Beginners@haskell.org
> > > > > > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> > > > >
> > > > > _______________________________________________
> > > > > Beginners mailing list
> > > > > Beginners@haskell.org
> > > > > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> > > > >
> > >
> > > _______________________________________________
> > > Beginners mailing list
> > > Beginners@haskell.org
> > > http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> > >
>
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.haskell.org/pipermail/beginners/attachments/20171212/6965bd07/attachment.html>

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

Subject: Digest Footer

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


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

End of Beginners Digest, Vol 114, Issue 19
******************************************

Reply via email to