Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup fails with 'No information found for ghc-8.2.2' for OS key 'linux64-ncurses6-nopie' #3636

Closed
natrys opened this issue Dec 10, 2017 · 8 comments

Comments

@natrys
Copy link

natrys commented Dec 10, 2017

I am trying to do a fresh install, using nightly as the global resolver.

~$ stack --version
Version 1.6.1, Git revision f25811329bbc40b0c21053a8160c56f923e1201b (5435 commits) x86_64 hpack-0.20.0
~$ rm -r ~/.stack/
~$ stack --resolver nightly-2017-12-10 --verbose setup
Version 1.6.1, Git revision f25811329bbc40b0c21053a8160c56f923e1201b (5435 commits) x86_64 hpack-0.20.0
2017-12-10 21:50:44.177921: [debug] Checking for project config at: /home/natrys/stack.yaml
@(Stack/Config.hs:842:9)
2017-12-10 21:50:44.178174: [debug] Checking for project config at: /home/stack.yaml
@(Stack/Config.hs:842:9)
2017-12-10 21:50:44.178264: [debug] Checking for project config at: /stack.yaml
@(Stack/Config.hs:842:9)
2017-12-10 21:50:44.178344: [debug] No project config file found, using defaults.
@(Stack/Config.hs:872:13)
2017-12-10 21:50:44.179624: [debug] Using resolver: nightly-2017-12-10 specified on command line
@(Stack/Config.hs:535:7)
2017-12-10 21:50:44.180012: [debug] Run from outside a project, using implicit global project config
@(Stack/Config.hs:559:13)
2017-12-10 21:50:44.180167: [info] Writing implicit global project config file to: /home/natrys/.stack/global-project/stack.yaml
@(Stack/Config.hs:578:20)
2017-12-10 21:50:44.180243: [info] Note: You can change the snapshot via the resolver field there.
@(Stack/Config.hs:579:20)
2017-12-10 21:50:44.180293: [info] Using resolver: nightly-2017-12-10 specified on command line
@(Stack/Config.hs:626:17)
2017-12-10 21:50:44.180728: [debug] Decoding build plan from: /home/natrys/.stack/build-plan/nightly-2017-12-10.yaml
@(Stack/Snapshot.hs:150:5)
2017-12-10 21:50:44.180797: [debug] Trying to decode /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache
@(Data/Store/VersionTagged.hs:66:5)
2017-12-10 21:50:44.180886: [debug] Exception ignored when attempting to load /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache: /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache: openBinaryFile: does not exist (No such file or directory)
@(Data/Store/VersionTagged.hs:84:9)
2017-12-10 21:50:44.180977: [debug] Failure decoding /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache
@(Data/Store/VersionTagged.hs:73:13)
2017-12-10 21:50:44.181086: [debug] Decoding Stackage snapshot definition from file failed: InvalidYaml (Just (YamlException "Yaml file not found: /home/natrys/.stack/build-plan/nightly-2017-12-10.yaml"))
@(Stack/Snapshot.hs:155:13)
2017-12-10 21:50:44.181506: [debug] Downloading build plan from: https://raw.githubusercontent.com/fpco/stackage-nightly/master//nightly-2017-12-10.yaml
@(Stack/Snapshot.hs:160:13)
2017-12-10 21:50:44.181576: [debug] Downloading /fpco/stackage-nightly/master//nightly-2017-12-10.yaml
@(Network/HTTP/Download.hs:69:5)
Downloaded nightly-2017-12-10 build plan.    
2017-12-10 21:53:12.096905: [debug] Trying to decode /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache
@(Data/Store/VersionTagged.hs:66:5)
2017-12-10 21:53:12.097171: [debug] Exception ignored when attempting to load /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache: /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache: openBinaryFile: does not exist (No such file or directory)
@(Data/Store/VersionTagged.hs:84:9)
2017-12-10 21:53:12.097367: [debug] Failure decoding /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache
@(Data/Store/VersionTagged.hs:73:13)
2017-12-10 21:53:13.452720: [debug] Encoding /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache
@(Data/Store/VersionTagged.hs:48:5)
2017-12-10 21:53:13.462145: [debug] Finished writing /home/natrys/.stack/build-plan-cache/nightly-2017-12-10.cache
@(Data/Store/VersionTagged.hs:53:5)
2017-12-10 21:53:13.462381: [debug] Run process: /sbin/ldconfig -p
@(System/Process/Log.hs:37:3)
2017-12-10 21:53:13.463497: [debug] Process finished in 1ms: /sbin/ldconfig -p
@(System/Process/Log.hs:44:3)
2017-12-10 21:53:13.463707: [debug] Run process: /usr/bin/gcc -v
@(System/Process/Log.hs:37:3)
2017-12-10 21:53:13.464825: [debug] Process finished in 1ms: /usr/bin/gcc -v
@(System/Process/Log.hs:44:3)
2017-12-10 21:53:13.464910: [debug] PIE disabled
@(Stack/Setup.hs:591:17)
2017-12-10 21:53:13.465147: [debug] Did not find shared library libtinfo.so.5
@(Stack/Setup.hs:581:38)
2017-12-10 21:53:13.465213: [debug] Did not find shared library libtinfo.so.6
@(Stack/Setup.hs:581:38)
2017-12-10 21:53:13.465257: [debug] Found shared library libncursesw.so.6 in 'ldconfig -p' output
@(Stack/Setup.hs:567:29)
2017-12-10 21:53:13.465305: [debug] Found shared library libgmp.so.10 in 'ldconfig -p' output
@(Stack/Setup.hs:567:29)
2017-12-10 21:53:13.465466: [debug] Did not find shared library libgmp.so.3
@(Stack/Setup.hs:581:38)
2017-12-10 21:53:13.465511: [debug] Using ncurses6-nopie GHC build
@(Stack/Setup.hs:622:9)
No information found for ghc-8.2.2.
Supported versions for OS key 'linux64-ncurses6-nopie': GhcVersion 8.0.2, GhcVersion 8.2.1
@decentral1se
Copy link
Member

Right, so, following from the discussion in #3268 (comment), I've discovered that there is still not the the GHC-8.2.2 for your OS key released over at https://github.com/commercialhaskell/ghc/releases. For example, this got resolved for another GHC over at commercialhaskell/stackage-content#26.

@borsboom
Copy link
Contributor

borsboom commented Dec 24, 2017

@natrys: which Linux distribution are you using? Arch used to need the ncurses6 bindist but it now appears to have switched to tinfo6 by default.

@cocreature you've built past ones using Arch Linux, any insight on whether ncurses6 should still be needed on Arch?

@cocreature
Copy link
Contributor

@cocreature you've built past ones using Arch Linux, any insight on whether ncurses6 should still be needed on Arch?

I’m not sure tbh, #3630 contains some discussions on this. For now I’m using nopie locally since the default that stack-1.6 picked, didn’t work properly for me but I don’t recall the exact error message. I’ll try to do some more testing but it might be a while before I get to it.

@borsboom borsboom changed the title Setup fails with 'No information found for ghc-8.2.2.' Setup fails with 'No information found for ghc-8.2.2' for OS key 'linux64-ncurses6-nopie' Dec 24, 2017
@natrys
Copy link
Author

natrys commented Dec 25, 2017

@borsboom This was on Void Linux. It doesn't use libtinfo, nor is there any ncurses-compat-libs equivalent package like Arch.

For now, I am forcing the libtinfo6-nopie install by manually creating libtinfo.so.6 symlink.

@borsboom
Copy link
Contributor

@natrys Thanks, good to know. I'm working on a better solution to this ncurses5/ncurses6/tinfo6 (and gmp4 and nopie) business and will take this into account.

borsboom added a commit to commercialhaskell/stackage-content that referenced this issue Dec 27, 2017
@borsboom
Copy link
Contributor

@natrys Please try stack setup --setup-info-yaml=https://raw.githubusercontent.com/fpco/stackage-content/nopie-fixes-arch-gentoo/stack/stack-setup-2.yaml (after removing your libtinfo.so.6 symlink)

borsboom added a commit to commercialhaskell/stackage-content that referenced this issue Dec 27, 2017
* Removes GHC <8.0.2 for all Linux `-nopie` builds, since those don't work
  reliably.
* Removes `configure-env` for all remaining Linux `-nopie` builds, since GHC
  >=8.0.2 autodetects GCCs that support `-no-pie` (and the
  configure-envs interfered with the auto-detection causing it to fail
  on some distros)
* Patches Linux GHC >= 8.0.2 bindists so that their `configure`
  script detects Gentoo Hardened GCC and adds `--no-pie`
  to linker arguments.
* Adds ncurses6 GHC 8.2.2 bindist for Void Linux

Relates to commercialhaskell/stack#3518 commercialhaskell/stack#3636
borsboom added a commit that referenced this issue Dec 27, 2017
These changes are motivated by #3636.

* `stack setup` looks for GHC bindists and installations by any OS key
  that is compatible (rather than only checking a single one).   This is
  relevant on Linux where different distributions may have different
  combinations of libtinfo 5/6, ncurses 5/6, and gmp 4/5, and will allow
  simpifying the setup-info metadata YAML for future GHC releases.

* `stack setup` no longer uses different GHC configure options on Linux
  distributions that use GCC with PIE enabled by default.  GHC detects
  this itself since ghc-8.0.2, and Stack's attempted workaround for older
  versions caused more problems than it solved.
borsboom added a commit that referenced this issue Dec 29, 2017
These changes are motivated by #3636.

* `stack setup` looks for GHC bindists and installations by any OS key
  that is compatible (rather than only checking a single one).   This is
  relevant on Linux where different distributions may have different
  combinations of libtinfo 5/6, ncurses 5/6, and gmp 4/5, and will allow
  simpifying the setup-info metadata YAML for future GHC releases.

* `stack setup` no longer uses different GHC configure options on Linux
  distributions that use GCC with PIE enabled by default.  GHC detects
  this itself since ghc-8.0.2, and Stack's attempted workaround for older
  versions caused more problems than it solved.
@natrys
Copy link
Author

natrys commented Dec 30, 2017

Hi @borsboom , this worked perfectly! No problems at all in my testings so far. Thanks, appreciate it!

@natrys natrys closed this as completed Dec 30, 2017
@kostmo
Copy link

kostmo commented Jan 23, 2018

I believe I have stumbled on a problem (#3801) that may be related to this change.

The version of stack we use is fixed at 1.3.2. Likewise, we are tied to resolver lts-5.9, which is GHC 7.10.3. This was working quite well for about 2 years, but recently new installations are failing.

It seems that with the removal of linux64-nopie for GHC 7.10.3, our build environment is no longer reproducible from scratch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants