-
Notifications
You must be signed in to change notification settings - Fork 206
HIE depends on hlint.yaml and cabal-helper-wrapper in its build dir #400
Comments
Hie is linked statically. That is, the libraries aren't used at runtime, everything is in Many libraries are installed at .stack_work, because they don't belong to snapshots. But %STACK_ROOT%/snapshots should still contain some 350+ libs. For 32-bit 8.0.2 check for example snapshots/i386-linux-nopie/lts-9.14/8.0.2/lib/i386-linux-ghc-8.0.2/ folder. It contains some 300 libs. |
When i renamed the hie project directory, hie ended up not functioning |
btw are you really sure? |
I think 190 libs are normal. I may have libs there from other projects as well on my system. For most functions of hie to work you need only What exactly stopped working? |
So im using the VS code integration. |
Is it normal that with all libs statically linked, hie.exe is still only 119MB large? |
Yes, the static libs due to various historical and performance reasons use a very inefficient format, so a very little fraction of them is code - the rest are section headers and so on. 119 is normal. 32-bit stack on linux is 44MBs. You can check dynamic dependencies of a windows exe using this tool: http://dependencywalker.com/. |
The log is in To work with command line run
Delete the log, open vscode and attempt to produce a ghc-mod error, and paste the log here. Also check that you don't have more than one |
The DepVerifier shows some dlls in c:\windows and some not found api-ms-....dll and ext-ms-....dlls |
It doesnt crash, and when run in command line, the output didnt change |
https://gist.github.com/soylens/30096602d210e73793810fab1e117602 |
Is there an operation to "merge" the project to the global project? |
It's 2 am here. Talk to you tomorrow :) Both of your logs contain bad uris:
There is The issue you experiences is a duplicate of #329. We'll update everything soon. |
Are you sure this is the cause? |
I'm sure that |
So do I have to do |
|
Thx have a good sleep |
I just noticed that the code range of the diagnostics were L20C0 to L20C100000, this might be the cause for another of my issue |
HIE installs a whole lot of stuff into the project Once all the dependencies are in a stackage snapshot, this will cease to be a problem. |
Is it planned to be uploaded to the hackage tree any sooner? |
That's why I am currently focusing on |
So I just checked and all packages pulled by git during |
@alanz BTW is Cabal-helper still alive? It stopped updating into Hackage since Jan 2017 and seems to be failing the builds for quite a time. |
Thx, I'll keep myself updated to this |
@soylens Can you reproduce the issue and recollect the logs with updated Note that it only makes sense to use the 8.2.2 version if your project is 8.2.2 too - ghc versions must match |
wait I saw this as the wrong issue XD |
Nope, it still doesnt work unless the build dir remains in place. |
okay. I ran
Having these ones in the snapshot doesn't help us as snapshots are disposable caches of build products. They take lots of space and are subject to purges. We should take the route of normal per-user installation instead:
@alanz any thoughts? |
Has this problem been resolved? @alanz |
We switched to using hlint from hackage, so the hlint.yaml should be the global one. We put out a new version of cabal-helper (to hackage) but there was a silly bug, now fixed in master. So until that is published to hackage, it will use the one from the build dir |
For me under Arch HIE wants:
After removing the build directory ( |
This is still an issue! Hie complains that it does not find the @alanz I thought This currently blocks my efforts to make binary-packages for linux distributions. @mpickering Does your work for the hie-bios solve these issues? |
Yes my branch doesn't use |
which one is it? I would like to give it a try. Is it |
Another issue related to I really hope that the issues related to |
Ping @DanielG |
It seems that |
This is still an issue on macOS. I built the binaries in a Language server logs
2019-04-24 09:09:22.422921 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 0.8.0.0 (2573 commits) x86_64 ghc-8.6.4
2019-04-24 09:09:22.424822 [ThreadId 4] - Current directory:/Users/shinzui/Gyehoeg/asobiba/haskell/
2019-04-24 09:09:22.703527 [ThreadId 4] - Cradle directory:/Users/shinzui/Gyehoeg/asobiba/haskell
2019-04-24 09:09:22.704841 [ThreadId 4] - Using stack GHC version
2019-04-24 09:09:22.883989 [ThreadId 4] - Project GHC version:8.6.4
2019-04-24 09:09:22.884628 [ThreadId 4] - hie exe candidates :["hie-8.6.4","hie-8.6","hie"]
2019-04-24 09:09:22.885694 [ThreadId 4] - found hie exe at:/Users/shinzui/.local/bin/hie-8.6.4
2019-04-24 09:09:22.886608 [ThreadId 4] - args:[]
2019-04-24 09:09:22.887044 [ThreadId 4] - launching ....
2019-04-24 09:09:22.899466 [ThreadId 4] - Using stack GHC version
2019-04-24 09:09:23.080625 [ThreadId 4] - Run entered for HIE(hie-8.6.4) Version 0.8.0.0 (2573 commits) x86_64 ghc-8.6.4
2019-04-24 09:09:23.081832 [ThreadId 4] - Current directory:/Users/shinzui/Gyehoeg/asobiba/haskell/
2019-04-24 09:09:23.113792 [ThreadId 10] - Using stack GHC version
hie-8.6.4: Could not find $libexecdir/cabal-helper-wrapper
If you are a cabal-helper developer you can set the environment variable
`cabal_helper_libexecdir' to override $libexecdir[1]. The following will
work in the cabal-helper source tree:
`$ export cabal_helper_libexecdir=$PWD/dist/build/cabal-helper-wrapper`
[1]: /private/tmp/haskell-ide-engine/.stack-work/install/x86_64-osx/lts-13.15/8.6.4/libexec/x86_64-osx-ghc-8.6.4/cabal-helper-0.9.0.0
/private/tmp/haskell-ide-engine/.stack-work/install/x86_64-osx/lts-13.15/8.6.4/libexec/x86_64-osx-ghc-8.6.4/cabal-helper-0.9.0.0/cabal-helper-wrapper
junk/build/cabal-helper-wrapper/cabal-helper-wrapper
/private/tmp/haskell-ide-engine/.stack-work/install/x86_64-osx/lts-13.15/8.6.4/bin/cabal-helper-wrapper
If you don't know what I'm talking about something went wrong with your
installation. Please report this problem here:
https://github.com/DanielG/cabal-helper/issues
2019-04-24 09:12:29.29119 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 0.8.0.0 (2573 commits) x86_64 ghc-8.6.4
2019-04-24 09:12:29.293075 [ThreadId 4] - Current directory:/Users/shinzui/Gyehoeg/asobiba/haskell
2019-04-24 09:12:29.48922 [ThreadId 4] - Cradle directory:/Users/shinzui/Gyehoeg/asobiba/haskell
2019-04-24 09:12:29.490459 [ThreadId 4] - Using stack GHC version
2019-04-24 09:12:29.677505 [ThreadId 4] - Project GHC version:8.6.4
2019-04-24 09:12:29.678143 [ThreadId 4] - hie exe candidates :["hie-8.6.4","hie-8.6","hie"]
2019-04-24 09:12:29.679187 [ThreadId 4] - found hie exe at:/Users/shinzui/.local/bin/hie-8.6.4
2019-04-24 09:12:29.680017 [ThreadId 4] - args:[]
2019-04-24 09:12:29.680446 [ThreadId 4] - launching ....
2019-04-24 09:12:29.716384 [ThreadId 4] - Using stack GHC version
2019-04-24 09:12:29.885745 [ThreadId 4] - Run entered for HIE(hie-8.6.4) Version 0.8.0.0 (2573 commits) x86_64 ghc-8.6.4
2019-04-24 09:12:29.887035 [ThreadId 4] - Current directory:/Users/shinzui/Gyehoeg/asobiba/haskell/
2019-04-24 09:12:29.919378 [ThreadId 10] - Using stack GHC version |
@shinzui, this is still a known issue and some effort is being made towards fixing this |
This is related with those issues:
|
With the merge of #1126, now only the hlint.yaml files are a problem. These can be fixed quite easily from now on. |
And with #1588 hie uses the hlint version that include |
Following the installing instructions, the hie ends up using libraries in the project direcotory(i.e. <hie_project_dir>/.stack_work), supposingly they should be installed to the global stack project(i.e %STACK_ROOT%/snapshots)
This causes duplicating libraries in both locations, which is space ineffecient
The text was updated successfully, but these errors were encountered: