haskell - Where is the source of `GHC.Paths.*` value came from? -


i running stack version 1.1.2 x86_64 hpack-0.14.1

$ stack exec ghc run outside project, using implicit global project config using resolver: lts-5.10 implicit global project's config file: /home/wisut/.stack/global-project/stack.yaml /home/wisut/.stack/programs/x86_64-linux/ghc-7.10.3/bin/ghc 

but when using stack ghci ghc.paths return wrong path

$ stack ghci run outside project, using implicit global project config using resolver: lts-5.10 implicit global project's config file: /home/wisut/.stack/global-project/stack.yaml error parsing targets: specified targets matched no packages. perhaps need run 'stack init'? warning: build failed, optimistically launching ghci anyway configuring ghci following packages:  ghci, version 7.10.3: http://www.haskell.org/ghc/  :? ok, modules loaded: none. prelude> ghc.paths.ghc "/usr/bin/ghc-7.10.3" 

i running arch linux ghc 8.0.1 therefor there no ghc-7 avaliable outside stack

[wisut@earth ~]$ ghc /usr/bin/ghc [wisut@earth ~]$ ghc --version glorious glasgow haskell compilation system, version 8.0.1 [wisut@earth ~]$ ls -al /usr/bin/ghc lrwxrwxrwx 1 root root 9 may 24 18:28 /usr/bin/ghc -> ghc-8.0.1 

looking @ ghc.paths source, have no idea value from. env vars?

{-# language cpp #-}  module ghc.paths (         ghc, ghc_pkg, libdir, docdir   )  libdir, docdir, ghc, ghc_pkg :: filepath  libdir  = ghc_paths_libdir docdir  = ghc_paths_docdir  ghc     = ghc_paths_ghc ghc_pkg = ghc_paths_ghc_pkg 

running stack exec env didn't see anything.

$ stack exec env | grep -i ghc run outside project, using implicit global project config ghc_package_path=/home/wisut/.stack/global-project/.stack-work/installx86_64-linux/lts-5.10/7.10.3/pkgdb:/home/wisut/.stack/snapshots/x86_64-linux/lts-5.10/7.10.3/pkgdb:/home/wisut/.stack/programs/x86_64-linux/ghc-7.10.3/lib/ghc-7.10.3/package.conf.d path=/home/wisut/.stack/global-project/.stack-work/install/x86_64-linux/lts-5.10/7.10.3/bin:/home/wisut/.stack/snapshots/x86_64-linux/lts-5.10/7.10.3/bin:/home/wisut/.stack/programs/x86_64-linux/ghc-7.10.3/bin:/home/wisut/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl 

how can fix wrong value? how to config stack make ghc.paths return correct one?

upd tried running stack --no-system-ghc , didn't make difference. tried remove ~/.cabal , ~/.stack folders. had stack setup, , after stack re-installed compiler doesn't give me wrong path, doesn't give me any path, output of command empty. have nothing special in of setup.hs too.

you right, ghc_ variables cpp definitions coming custom setup.hs:

let buildinfo = emptybuildinfo{          cppoptions = ["-dghc_paths_ghc_pkg=" ++ show c_ghc_pkg,                        "-dghc_paths_ghc=" ++ show c_ghc,                        "-dghc_paths_libdir=" ++ show libdir,                        "-dghc_paths_docdir=" ++ show docdir ]        } 

about problem wrong path, try run stack --no-system-ghc ghci. if still shows "/usr/bin/ghc-7.10.3" ghc paths, suspect had ghc there when compiled ghc-paths ghc-7.10.3, , stack quite in not rebuilding stuff, old version of ghc-paths still there. don't know way rebuild package in snapshot, other whiping ~/.stack , starting over; might idea. if changed global ghc stuff.

there related issue: stop using system-ghc silently.


Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -