Skip to content
This repository has been archived by the owner on Oct 7, 2020. It is now read-only.

.hsc files with C headers unsupported? or broken? #1762

Open
complyue opened this issue May 6, 2020 · 4 comments
Open

.hsc files with C headers unsupported? or broken? #1762

complyue opened this issue May 6, 2020 · 4 comments

Comments

@complyue
Copy link

complyue commented May 6, 2020

$ git https://github.com/haskell/network.git
$ code network

Then from VSCode open Network/Socket/Posix/CmsgHdr.hsc

Got a problem reported:

{
	"resource": "/qw/ews/network/Network/Socket/Posix/CmsgHdr.hsc",
	"owner": "Haskell HIE (network)",
	"severity": 8,
	"message": "target ‘/qw/ews/network/Network/Socket/Posix/CmsgHdr.hsc’ is not a module name or a source file\n",
	"source": "bios",
	"startLineNumber": 1,
	"startColumn": 1,
	"endLineNumber": 2,
	"endColumn": 1
}

Shown in OUTPUT panel - Haskell HIE (network):

[client] run command = "hie-wrapper --lsp"
[client] debug command = "hie-wrapper --lsp"
2020-05-06 23:35:33.063356 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 1.4 x86_64 ghc-8.6.5
2020-05-06 23:35:33.064089 [ThreadId 4] - Current directory:/qw/ews/network
2020-05-06 23:35:33.064143 [ThreadId 4] - Operating system:darwin
2020-05-06 23:35:33.064191 [ThreadId 4] - args:["--lsp"]
2020-05-06 23:35:33.065923 [ThreadId 4] - Cabal-Helper decided to use: ProjLocStackYaml {plStackYaml = "/qw/ews/network/stack.yaml"}
2020-05-06 23:35:33.065993 [ThreadId 4] - Module "/qw/ews/network/File.hs" is loaded by Cradle: Cradle {cradleRootDir = "/qw/ews/network", cradleOptsProg = CradleAction: Other Stack}
2020-05-06 23:35:33.066045 [ThreadId 4] - Cradle directory:/qw/ews/network
2020-05-06 23:35:33.066218 [ThreadId 4] - Executing Stack GHC with args: --numeric-version
2020-05-06 23:35:33.496944 [ThreadId 4] - Project GHC version:8.6.5
2020-05-06 23:35:33.497036 [ThreadId 4] - hie exe candidates :["hie-8.6.5","hie-8.6","hie"]
2020-05-06 23:35:33.497825 [ThreadId 4] - found hie exe at:/Users/cyue/.cabal/bin/hie-8.6.5
2020-05-06 23:35:33.497883 [ThreadId 4] - args:["--lsp"]
2020-05-06 23:35:33.497933 [ThreadId 4] - launching ....



2020-05-06 23:35:33.515663 [ThreadId 4] - Run entered for HIE(hie-8.6.5) Version 1.4 x86_64 ghc-8.6.5
2020-05-06 23:35:33.516312 [ThreadId 4] - Operating as a LSP server on stdio
2020-05-06 23:35:33.516366 [ThreadId 4] - Current directory:/qw/ews/network
2020-05-06 23:35:33.516413 [ThreadId 4] - Operating system:darwin
2020-05-06 23:35:33.516455 [ThreadId 4] - args:["--lsp"]
2020-05-06 23:35:33.550325 [ThreadId 4] - Cabal-Helper decided to use: ProjLocStackYaml {plStackYaml = "/qw/ews/network/stack.yaml"}
2020-05-06 23:35:33.550426 [ThreadId 4] - Module "/qw/ews/network/File.hs" is loaded by Cradle: Cradle {cradleRootDir = "/qw/ews/network", cradleOptsProg = CradleAction: Other Stack}
2020-05-06 23:35:33.550648 [ThreadId 4] - Executing Stack GHC with args: --numeric-version
2020-05-06 23:35:33.916513 [ThreadId 9] - Executing Stack GHC with args: --print-libdir
Using hie version: Version 1.4 x86_64 ghc-8.6.5
2020-05-06 23:35:34.314191 [ThreadId 14] - New cradle: /qw/ews/network/Network/Socket/Posix/CmsgHdr.hsc
2020-05-06 23:35:34.316065 [ThreadId 14] - Cabal-Helper decided to use: ProjLocStackYaml {plStackYaml = "/qw/ews/network/stack.yaml"}
2020-05-06 23:35:34.316128 [ThreadId 14] - Module "/qw/ews/network/Network/Socket/Posix/CmsgHdr.hsc" is loaded by Cradle: Cradle {cradleRootDir = "/qw/ews/network", cradleOptsProg = CradleAction: Other Stack}
2020-05-06 23:35:34.316193 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "/qw/ews/network", cradleOptsProg = CradleAction: Other Stack}
Using hoogle db at: /Users/cyue/.hoogle/default-haskell-5.0.17.hoo
2020-05-06 23:35:37.599572 [ThreadId 19] - Cradle set succesfully
Warning: Can't find file "HsNet.h" in directories
	/private/var/folders/mz/mgxdtrgj3v1372vjd7tt6l_00000gn/T/haskell-lsp20481
	.
  Asked for by: /private/var/folders/mz/mgxdtrgj3v1372vjd7tt6l_00000gn/T/haskell-lsp20481/CmsgHdr.hsc-00000-3132707331887361086.hs  at line 3 col 1
Warning: Can't find file "sys/types.h" in directories
	/private/var/folders/mz/mgxdtrgj3v1372vjd7tt6l_00000gn/T/haskell-lsp20481
	.
  Asked for by: /private/var/folders/mz/mgxdtrgj3v1372vjd7tt6l_00000gn/T/haskell-lsp20481/CmsgHdr.hsc-00000-3132707331887361086.hs  at line 11 col 1
Warning: Can't find file "sys/socket.h" in directories
	/private/var/folders/mz/mgxdtrgj3v1372vjd7tt6l_00000gn/T/haskell-lsp20481
	.
  Asked for by: /private/var/folders/mz/mgxdtrgj3v1372vjd7tt6l_00000gn/T/haskell-lsp20481/CmsgHdr.hsc-00000-3132707331887361086.hs  at line 12 col 1
2020-05-06 23:35:37.797409 [ThreadId 14] - New cradle: /qw/ews/network/Network/Socket/Posix/CmsgHdr.hsc
2020-05-06 23:35:37.799676 [ThreadId 14] - Cabal-Helper decided to use: ProjLocStackYaml {plStackYaml = "/qw/ews/network/stack.yaml"}
2020-05-06 23:35:37.799733 [ThreadId 14] - Module "/qw/ews/network/Network/Socket/Posix/CmsgHdr.hsc" is loaded by Cradle: Cradle {cradleRootDir = "/qw/ews/network", cradleOptsProg = CradleAction: Other Stack}
2020-05-06 23:35:37.800297 [ThreadId 14] - Found cradle: Cradle {cradleRootDir = "/qw/ews/network", cradleOptsProg = CradleAction: Other Stack}
2020-05-06 23:35:40.724014 [ThreadId 197] - Cradle set succesfully

Adding an hie.yaml with

cradle: { cabal: {component: "lib:network"} }

does not solve it, basically the same error.

@fendor
Copy link
Collaborator

fendor commented May 6, 2020

It might be possible that this is related to Include directories. Relevant changes haskell/hie-bios#166.
It is maybe fixed in the next-release of hie-bios, can I ping you when we are integrating the new changes in HIE?

@complyue
Copy link
Author

complyue commented May 6, 2020

@fendor thanks for the information, you replied so quick! :)

of course please ping me.

@complyue
Copy link
Author

complyue commented May 7, 2020

Confess I forgot that I had put

    "files.associations": {
        "*.hsc": "haskell"
    }

In my VSCode's user settings.json, or opening .hsc files won't trigger HIE loading at all.

So maybe this is really unsupported?

@fendor
Copy link
Collaborator

fendor commented May 7, 2020

It is definitely not officially supported. Pretty sure there some open issue already.
Still, I am interested to know what would be necessary to support this.

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