ghc-mod
ghc-mod copied to clipboard
cradleDistDir and stack
Hey,
I am not sure how to test it properly, but looks like cradleDistDir is wrong when you are using stack. My initial problem is that when I am using stack - Paths_name module can't be found, which brings troubles which flycheck.
Also, Paths_name is in other-modules section in .cabal file. When I start process with haskell-mode and try to navigate to Paths_name module - it brings me to it! This module is in /path/to/project/.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/.
I don't have bare cabal right now - so can't test if it's working when I am building with cabal.
rm -rf dist/ or cabal clean is your friend: https://github.com/kazu-yamamoto/ghc-mod/blob/master/Language/Haskell/GhcMod/Cradle.hs#L90
As I told - I don't use cabal. I use stack. So I don't have dist directory. Everything goes into .stack-work.
λ la
total 88
drwxr-xr-x 16 d12frosted staff 544B Oct 2 11:55 .
drwxr-xr-x 28 d12frosted staff 952B Sep 25 20:25 ..
-rw-r--r--@ 1 d12frosted staff 10K Oct 3 11:28 .DS_Store
drwxr-xr-x 14 d12frosted staff 476B Oct 3 11:41 .git
-rw-r--r-- 1 d12frosted staff 235B Sep 17 11:23 .gitignore
drwxr-xr-x 6 d12frosted staff 204B Oct 1 15:59 .stack-work
-rw-r--r-- 1 d12frosted staff 1.5K Sep 17 11:14 LICENSE
-rw-r--r-- 1 d12frosted staff 1.4K Oct 1 22:38 README.org
-rw-r--r-- 1 d12frosted staff 46B Sep 17 11:14 Setup.hs
-rw-r--r-- 1 d12frosted staff 4.5K Oct 2 12:25 TAGS
drwxr-xr-x 5 d12frosted staff 170B Oct 1 19:15 app
drwxr-xr-x 8 d12frosted staff 272B Sep 30 12:19 assets
-rw-r--r-- 1 d12frosted staff 2.4K Oct 1 19:35 proj.cabal
drwxr-xr-x 4 d12frosted staff 136B Oct 1 19:08 lib
-rw-r--r-- 1 d12frosted staff 59B Sep 17 11:25 stack.yaml
drwxr-xr-x 3 d12frosted staff 102B Sep 17 11:14 test
Well people tend to have those left over from their cabal-install days so I have to ask. Give me the output of ghc-mod debug in that directory then.
Well people tend to have those left over from their cabal-install days so I have to ask.
Ah, I see. Well, we are at the same page then :)
The output of ghc-mod debug is
λ ghc-mod debug
Root directory: /Users/d12frosted/project
Current directory: /Users/d12frosted/project
GHC Package flags:
-fbuilding-cabal-package -O -outputdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -odir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -hidir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -stubdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -i
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -ilib
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
-hide-all-packages -no-user-package-db -package-db
/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-db
/Users/d12frosted/project/.stack-work/install/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-id
optparse-applicative-0.11.0.2-ce4d886898c708632851113f5d4d211f
-package-id optparse-simple-0.0.3-de0bc3ab0b3de13581fcd0c1aff752e6
-package-id text-1.2.1.3-2395ef415c1b20175aae83b50060e389
-package-id aeson-0.8.0.2-85507016086edfeeee941f8a8eed5cd2
-package-id base-4.8.1.0-075aa0db10075facc5aaa59a7991ca2f
-package-id basic-prelude-0.5.0-90c2dc621123b6997039fb5cdc75ea31
-package-id containers-0.5.6.2-2b49cce16f8a2908df8454387e550b93
-package-id monad-logger-0.3.13.2-15d1996af63d4b1a2f9e4d414b3c04ca
-package-id mtl-2.2.1-5cf332b11edb88a6040af20fd6a58acb -package-id
scientific-0.3.3.8-6eb85cb64de9dfedbefd51cace55550b -package-id
turtle-1.2.1-8e8cf707ad44fce0ea8b258c1fb5cc3c -package-id
unordered-containers-0.2.5.1-09ed02f61ed89449c8cd4b51d7f295c2
-package-id uuid-1.3.11-b4b14c31d5a419b20e07567306c5ad9f
-XHaskell2010
GHC System libraries: /Users/d12frosted/.stack/programs/x86_64-osx/ghc-7.10.2/lib/ghc-7.10.2
GHC user options:
Stack ghc executable: Just "/Users/d12frosted/.stack/programs/x86_64-osx/ghc-7.10.2/bin/ghc"
Stack ghc-pkg executable:Just "/Users/d12frosted/.stack/programs/x86_64-osx/ghc-7.10.2/bin/ghc-pkg"
Cabal file: Just "/Users/d12frosted/project/project.cabal"
Project: StackProject (StackEnv {seDistDir = ".stack-work/dist/x86_64-osx/Cabal-1.22.4.0", seBinPath = ["/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/bin","/Users/d12frosted/.stack/programs/x86_64-osx/ghc-7.10.2/bin","/Users/d12frosted/.local/bin","/usr/texbin","/usr/local/bin","/usr/bin","/bin","/usr/sbin","/sbin","/opt/X11/bin","/Library/TeX/texbin","."], seSnapshotPkgDb = "/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/pkgdb", seLocalPkgDb = "/Users/d12frosted/project/.stack-work/install/x86_64-osx/lts-3.4/7.10.2/pkgdb"})
Cabal entrypoints:
Setup.hs
Main (/Users/d12frosted/project/Setup.hs)
library
Project.Types (/Users/d12frosted/project/lib/Project/Types.hs)
Paths_project (/Users/d12frosted/project/.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/Paths_project.hs)
Project.File (/Users/d12frosted/project/lib/Project/File.hs)
Project.Prelude (/Users/d12frosted/project/lib/Project/Prelude.hs)
Project.Types.Internal (/Users/d12frosted/project/lib/Project/Types/Internal.hs)
Project.Types.Note (/Users/d12frosted/project/lib/Project/Types/Note.hs)
Project.Types.Note.InternalInfo (/Users/d12frosted/project/lib/Project/Types/Note/InternalInfo.hs)
Project.Types.Note.MetaInfo (/Users/d12frosted/project/lib/Project/Types/Note/MetaInfo.hs)
Project.Types.UUID (/Users/d12frosted/project/lib/Project/Types/UUID.hs)
exe:project
Paths_project (/Users/d12frosted/project/.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/Paths_project.hs)
Main (/Users/d12frosted/project/app/Main.hs)
Version (/Users/d12frosted/project/app/Version.hs)
test:project-test
Main (/Users/d12frosted/project/test/Spec.hs)
Cabal components:
Setup.hs
Main (/Users/d12frosted/project/Setup.hs)
library
Project.Types (/Users/d12frosted/project/lib/Project/Types.hs)
Project.Types.Internal
Project.Types.Note
Project.Types.UUID
Project.Types.Config
Paths_project (/Users/d12frosted/project/.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/Paths_project.hs)
Project.File (/Users/d12frosted/project/lib/Project/File.hs)
Project.Types
Project.Prelude
Project.Prelude (/Users/d12frosted/project/lib/Project/Prelude.hs)
Project.Types.Internal (/Users/d12frosted/project/lib/Project/Types/Internal.hs)
Project.Prelude
Project.Types.Note (/Users/d12frosted/project/lib/Project/Types/Note.hs)
Project.Types.Note.InternalInfo
Project.Types.Note.MetaInfo
Project.Types.UUID
Project.Types.Note.InternalInfo (/Users/d12frosted/project/lib/Project/Types/Note/InternalInfo.hs)
Project.Types.Note.MetaInfo (/Users/d12frosted/project/lib/Project/Types/Note/MetaInfo.hs)
Project.Types.UUID (/Users/d12frosted/project/lib/Project/Types/UUID.hs)
Project.Types.Config (/Users/d12frosted/project/lib/Project/Types/Config.hs)
Project.Prelude
Project.Types.Internal
exe:project
Paths_project (/Users/d12frosted/project/.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/Paths_project.hs)
Main (/Users/d12frosted/project/app/Main.hs)
Version
Version (/Users/d12frosted/project/app/Version.hs)
Paths_project
test:project-test
Main (/Users/d12frosted/project/test/Spec.hs)
GHC Cabal options:
Setup.hs
library
-fbuilding-cabal-package -O -outputdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -odir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -hidir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -stubdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -i
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -ilib
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
-hide-all-packages -no-user-package-db -package-db
/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-db
/Users/d12frosted/project/.stack-work/install/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-id aeson-0.8.0.2-85507016086edfeeee941f8a8eed5cd2
-package-id base-4.8.1.0-075aa0db10075facc5aaa59a7991ca2f
-package-id basic-prelude-0.5.0-90c2dc621123b6997039fb5cdc75ea31
-package-id containers-0.5.6.2-2b49cce16f8a2908df8454387e550b93
-package-id monad-logger-0.3.13.2-15d1996af63d4b1a2f9e4d414b3c04ca
-package-id mtl-2.2.1-5cf332b11edb88a6040af20fd6a58acb -package-id
scientific-0.3.3.8-6eb85cb64de9dfedbefd51cace55550b -package-id
turtle-1.2.1-8e8cf707ad44fce0ea8b258c1fb5cc3c -package-id
unordered-containers-0.2.5.1-09ed02f61ed89449c8cd4b51d7f295c2
-package-id uuid-1.3.11-b4b14c31d5a419b20e07567306c5ad9f
-XHaskell2010
exe:project
-fbuilding-cabal-package -O -outputdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -odir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -hidir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -stubdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -i
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project/project-tmp
-iapp -i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -ilib
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project/project-tmp
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
-hide-all-packages -no-user-package-db -package-db
/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-db
/Users/d12frosted/project/.stack-work/install/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-id
optparse-applicative-0.11.0.2-ce4d886898c708632851113f5d4d211f
-package-id optparse-simple-0.0.3-de0bc3ab0b3de13581fcd0c1aff752e6
-package-id text-1.2.1.3-2395ef415c1b20175aae83b50060e389
-package-id aeson-0.8.0.2-85507016086edfeeee941f8a8eed5cd2
-package-id base-4.8.1.0-075aa0db10075facc5aaa59a7991ca2f
-package-id basic-prelude-0.5.0-90c2dc621123b6997039fb5cdc75ea31
-package-id containers-0.5.6.2-2b49cce16f8a2908df8454387e550b93
-package-id monad-logger-0.3.13.2-15d1996af63d4b1a2f9e4d414b3c04ca
-package-id mtl-2.2.1-5cf332b11edb88a6040af20fd6a58acb -package-id
scientific-0.3.3.8-6eb85cb64de9dfedbefd51cace55550b -package-id
turtle-1.2.1-8e8cf707ad44fce0ea8b258c1fb5cc3c -package-id
unordered-containers-0.2.5.1-09ed02f61ed89449c8cd4b51d7f295c2
-package-id uuid-1.3.11-b4b14c31d5a419b20e07567306c5ad9f
-XHaskell2010 -threaded -rtsopts -with-rtsopts=-N
test:project-test
-fbuilding-cabal-package -O -outputdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -odir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -hidir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -stubdir
.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -i
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project-test/project-test-tmp
-itest -i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -ilib
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project-test/project-test-tmp
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
-hide-all-packages -no-user-package-db -package-db
/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-db
/Users/d12frosted/project/.stack-work/install/x86_64-osx/lts-3.4/7.10.2/pkgdb/
-package-id aeson-0.8.0.2-85507016086edfeeee941f8a8eed5cd2
-package-id base-4.8.1.0-075aa0db10075facc5aaa59a7991ca2f
-package-id basic-prelude-0.5.0-90c2dc621123b6997039fb5cdc75ea31
-package-id containers-0.5.6.2-2b49cce16f8a2908df8454387e550b93
-package-id monad-logger-0.3.13.2-15d1996af63d4b1a2f9e4d414b3c04ca
-package-id mtl-2.2.1-5cf332b11edb88a6040af20fd6a58acb -package-id
scientific-0.3.3.8-6eb85cb64de9dfedbefd51cace55550b -package-id
turtle-1.2.1-8e8cf707ad44fce0ea8b258c1fb5cc3c -package-id
unordered-containers-0.2.5.1-09ed02f61ed89449c8cd4b51d7f295c2
-package-id uuid-1.3.11-b4b14c31d5a419b20e07567306c5ad9f
-XHaskell2010 -threaded -rtsopts -with-rtsopts=-N
GHC search path options:
Setup.hs
library
-i -i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -ilib
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build -optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
exe:project
-i
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project/project-tmp
-iapp -i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project/project-tmp
-optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
test:project-test
-i
-i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project-test/project-test-tmp
-itest -i.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen
-I.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/project-test/project-test-tmp
-optP-include
-optP.stack-work/dist/x86_64-osx/Cabal-1.22.4.0/build/autogen/cabal_macros.h
Looks perfectly fine to me:
Project: StackProject (StackEnv {
seDistDir = ".stack-work/dist/x86_64-osx/Cabal-1.22.4.0",
seBinPath = ["/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/bin", "/Users/d12frosted/.stack/programs/x86_64-osx/ghc-7.10.2/bin","/Users/d12frosted/.local/bin","/usr/texbin","/usr/local/bin","/usr/bin","/bin","/usr/sbin","/sbin","/opt/X11/bin","/Library/TeX/texbin","."],
seSnapshotPkgDb = "/Users/d12frosted/.stack/snapshots/x86_64-osx/lts-3.4/7.10.2/pkgdb",
seLocalPkgDb = "/Users/d12frosted/project/.stack-work/install/x86_64-osx/lts-3.4/7.10.2/pkgdb"
})
Must be something different.
Indeed. Well, I'll try to dig into it deeper. I'll let you know about results.
@d12frosted Any news on this issue?