Skip to content
This repository has been archived by the owner on Mar 14, 2021. It is now read-only.

Doesn't work with docker-enabled stack projects #167

Open
seanhess opened this issue Aug 8, 2016 · 3 comments
Open

Doesn't work with docker-enabled stack projects #167

seanhess opened this issue Aug 8, 2016 · 3 comments

Comments

@seanhess
Copy link

seanhess commented Aug 8, 2016

I'm using the docker build feature with stack. This prevents this package from working.

  1. Create a stack project stack new my-project
  2. Follow the rest of the stack integration instructions, delete ./dist, and build ghc-mod in the project folder.
  3. Add the following to stack.yaml
docker:
  enable: true

ghc-mod is installed and works:

$ stack exec ghc-mod -- version
ghc-mod version 5.5.0.0 compiled by GHC 7.10.3

But because it's built via docker, ghc-mod is a linux executable.

$ /Users/seanhess/.stack/snapshots/x86_64-linux-dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod version
-bash: /Users/seanhess/.stack/snapshots/x86_64-linux-dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod: cannot execute binary file

Could you switch this project to use stack exec ghc-mod instead of trying to run the executables directly?

Atom Version: 1.9.6
System: Mac OS X 10.11.5
Thrown From: haskell-ghc-mod package, v1.16.0

Stack Trace

Haskell-ghc-mod: ghc-mod failed to launch. It is probably missing or misconfigured. 126

At Error: Command failed: ghc-mod version
/Users/seanhess/.stack/snapshots/x86_64-linux-dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod: /Users/seanhess/.stack/snapshots/x86_64-linux-dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod: cannot execute binary file

PATH: /Users/seanhess/miniconda2/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/seanhess/.stack/programs/x86_64-osx/ghc-8.0.1/bin:/Users/seanhess/.local/bin:/usr/local/octave/3.8.0/bin:/Users/seanhess/bin:/Users/seanhess/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
path: undefined
Path: undefined

Error
    at /Users/seanhess/.atom/packages/haskell-ghc-mod/lib/util.coffee:60:26
    at ChildProcess.exithandler (child_process.js:221:5)
    at emitTwo (events.js:100:13)
    at ChildProcess.emit (events.js:185:7)
    at maybeClose (internal/child_process.js:850:16)
    at Socket.<anonymous> (internal/child_process.js:323:11)
    at emitOne (events.js:90:13)
    at Socket.emit (events.js:182:7)
    at Pipe._onclose (net.js:477:12)

Commands

     -0:08.2.0 vim-mode-plus:reset-normal-mode (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
     -0:07.7.0 core:save (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
     -0:04.9.0 pane:show-previous-item (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
     -0:04.9.0 blur (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
     -0:04.7.0 core:close (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
     -0:04.7.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
     -0:03.9.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
     -0:03.8.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
  2x -0:03.1.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:02.0 core:confirm (atom-text-editor.editor.mini.is-focused)
  4x -0:02.0 blur (atom-text-editor.editor.mini.is-focused)
     -0:01.3.0 core:save (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
     -0:00.3.0 command-palette:toggle (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
     -0:00.1.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)

Config

{
  "core": {
    "closeEmptyWindows": false,
    "disabledPackages": [
      "ide-flow",
      "linter-hdevtools",
      "ide-haskell",
      "autocomplete-haskell"
    ],
    "excludeVcsIgnoredPaths": false,
    "ignoredNames": [
      ".git",
      ".hg",
      ".svn",
      ".DS_Store",
      "._*",
      "Thumbs.db",
      "elm.js"
    ]
  },
  "haskell-ghc-mod": {
    "useLinter": true
  }
}

Installed Packages

# User
autocomplete-haskell, v0.6.6 (inactive)
cursor-history, v0.5.9 (active)
elm-format, v2.0.1 (active)
git-plus, v5.16.2 (inactive)
haskell-ghc-mod, v1.16.0 (active)
hyperclick, v0.0.37 (active)
hyperlink-hyperclick, v1.3.3 (active)
ide-haskell, v1.6.6 (inactive)
language-elm, v1.5.0 (active)
language-haskell, v1.9.3 (active)
linter, v1.11.14 (active)
linter-elm-make, v0.13.2 (active)
linter-hdevtools, v1.10.0 (inactive)
trailing-spaces, v0.3.2 (active)
vim-mode-plus, v0.49.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (active)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (active)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (active)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.38.3 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.0 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.46.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.0 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages
@lierdakil
Copy link
Contributor

Running 'ghc-mod' via 'stack exec' is not really supported, so I don't want
to add any options for that.

However, you probably could do pretty much equivalent with a simple bash
script, which you could use in h-g-m settings instead of real ghc-mod
executable:


#!/bin/bash

exec stack exec ghc-mod -- "$@"


Make sure to make it executable. Also make sure to use absolute path to
this script (otherwise, some PATH weirdness may occur)

2016-08-08 21:16 GMT+03:00 Sean Hess notifications@github.com:

I'm using the docker build feature with stack
https://docs.haskellstack.org/en/stable/docker_integration/. This
prevents this package from working.

  1. Create a stack project stack new my-project
  2. Follow the rest of the stack integration instructions, delete ./dist,
    and build ghc-mod in the project folder.
  3. Add the following to stack.yaml

docker:
enable: true

ghc-mod is installed and works:

$ stack exec ghc-mod -- version
ghc-mod version 5.5.0.0 compiled by GHC 7.10.3

But because it's built via docker, ghc-mod is a linux executable.

$ /Users/seanhess/.stack/snapshots/x86_64-linux-
dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod version
-bash: /Users/seanhess/.stack/snapshots/x86_64-linux-
dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod: cannot
execute binary file

Could you switch this project to use stack exec ghc-mod instead of trying to run the executables directly?

Atom Version: 1.9.6
System: Mac OS X 10.11.5
Thrown From: haskell-ghc-mod package, v1.16.0

Stack Trace

Haskell-ghc-mod: ghc-mod failed to launch. It is probably missing or misconfigured. 126

At Error: Command failed: ghc-mod version
/Users/seanhess/.stack/snapshots/x86_64-linux-
dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod:
/Users/seanhess/.stack/snapshots/x86_64-linux-
dkda49f7ca9b244180d3cfb1987cbc9743/lts-6.10/7.10.3/bin/ghc-mod: cannot
execute binary file

PATH: /Users/seanhess/miniconda2/bin:/Library/Frameworks/
Python.framework/Versions/2.7/bin:/Users/seanhess/.stack/
programs/x86_64-osx/ghc-8.0.1/bin:/Users/seanhess/.local/
bin:/usr/local/octave/3.8.0/bin:/Users/seanhess/bin:/
Users/seanhess/local/bin:/opt/local/bin:/opt/local/sbin:/
usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
path: undefined
Path: undefined

Error
at /Users/seanhess/.atom/packages/haskell-ghc-mod/lib/util.coffee:60:26
at ChildProcess.exithandler (child_process.js:221:5)
at emitTwo (events.js💯13)
at ChildProcess.emit (events.js:185:7)
at maybeClose (internal/child_process.js:850:16)
at Socket. (internal/child_process.js:323:11)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at Pipe._onclose (net.js:477:12)

Commands

-0:08.2.0 vim-mode-plus:reset-normal-mode (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
-0:07.7.0 core:save (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
-0:04.9.0 pane:show-previous-item (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
-0:04.9.0 blur (atom-text-editor.editor.is-focused.vim-mode-plus.normal-mode)
-0:04.7.0 core:close (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
-0:04.7.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
-0:03.9.0 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)
-0:03.8.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-focused)

2x -0:03.1.0 core:backspace (atom-text-editor.editor.mini.is-focused)
-0:02.0 core:confirm (atom-text-editor.editor.mini.is-focused)
4x -0:02.0 blur (atom-text-editor.editor.mini.is-focused)
-0:01.3.0 core:save (atom-text-editor.editor.vim-mode-plus.normal-mode.is-
focused)
-0:00.3.0 command-palette:toggle (atom-text-editor.editor.vim-
mode-plus.normal-mode.is-focused)
-0:00.1.0 blur (atom-text-editor.editor.vim-mode-plus.normal-mode.is-
focused)

Config

{
  "core": {
    "closeEmptyWindows": false,
    "disabledPackages": [
      "ide-flow",
      "linter-hdevtools",
      "ide-haskell",
      "autocomplete-haskell"
    ],
    "excludeVcsIgnoredPaths": false,
    "ignoredNames": [
      ".git",
      ".hg",
      ".svn",
      ".DS_Store",
      "._*",
      "Thumbs.db",
      "elm.js"
    ]
  },
  "haskell-ghc-mod": {
    "useLinter": true
  }
}

Installed Packages

# User
autocomplete-haskell, v0.6.6 (inactive)
cursor-history, v0.5.9 (active)
elm-format, v2.0.1 (active)
git-plus, v5.16.2 (inactive)
haskell-ghc-mod, v1.16.0 (active)
hyperclick, v0.0.37 (active)
hyperlink-hyperclick, v1.3.3 (active)
ide-haskell, v1.6.6 (inactive)
language-elm, v1.5.0 (active)
language-haskell, v1.9.3 (active)
linter, v1.11.14 (active)
linter-elm-make, v0.13.2 (active)
linter-hdevtools, v1.10.0 (inactive)
trailing-spaces, v0.3.2 (active)
vim-mode-plus, v0.49.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (active)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (active)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (active)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.38.3 (active)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.64.1 (active)
open-on-github, v1.2.0 (inactive)package-generator, v1.0.0 (inactive)
settings-view, v0.238.0 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.46.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.0 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)
# DevNo dev packages


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/atom-haskell/haskell-ghc-mod/issues/167>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/AG8EZt6BnkJAuXQUZE58j0qweaoun6mgks5qd3KKgaJpZM4JfUgy>
.

@lierdakil
Copy link
Contributor

Whelp, github broke formatting in e-mail, so here's the part that it gobbled up:

#!/bin/bash

exec stack exec ghc-mod -- "$@"

Make sure to make it executable. Also make sure to use absolute path to
this script (otherwise, some PATH weirdness may occur)

@seanhess
Copy link
Author

seanhess commented Aug 9, 2016

Thanks!

On Tue, Aug 9, 2016 at 6:50 AM Nikolay Yakimov notifications@github.com
wrote:

Whelp, github broke formatting in e-mail, so here's the part that it
gobbled up:

#!/bin/bash
exec stack exec ghc-mod -- "$@"

Make sure to make it executable. Also make sure to use absolute path to

this script (otherwise, some PATH weirdness may occur)

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#167 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA_ed2de8S6RrT3OsBL00d6rKcfG7gBks5qeHeWgaJpZM4JfUgy
.

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

No branches or pull requests

2 participants