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 ******************************************