jgm / jgm/gitit

Installation (`stack install` after `git clone`) failure under Windows 10

Open
#651 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
2.3k
Forks
231
PR merge metrics
No merged PRs in 30d

Description

I'm following the suggested installation instructions, under Windows 10, by entering the following commands at a Git MINGW64 terminal prompt:

- `git clone https://github.com/jgm/gitit`
- `pushd gitit`
- `stack install`

and getting this:

```
{snip}
Cabal > [219 of 220] Compiling Distribution.Simple.Doctest
Cabal > [220 of 220] Compiling Distribution.Simple
Cabal > copy/register
Cabal > Installing library in C:\sr\snapshots\67f8afe8\lib\x86_64-windows-ghc-8.6.5\Cabal-2.4.1.0-5rQrtDcYhR2LOcYye7obEr
Cabal > Registering library for Cabal-2.4.1.0..

-- While building package sendfile-0.7.11.1 using:
C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.4.0.1_ghc-8.6.5.exe --builddir=.stack-work\dist\e626a42b build --ghc-options " -fdiagnostics-color=always"
Process exited with code: ExitFailure 1
Progress 75/157
```

I tried running the `stack install` command in a _Cygwin_ command shell, instead, and got:

```
{snip}
attoparsec > [20 of 21] Compiling Data.Attoparsec.Char8
attoparsec > [21 of 21] Compiling Data.Attoparsec
attoparsec > copy/register
attoparsec > Installing library in C:\sr\snapshots\67f8afe8\lib\x86_64-windows-ghc-8.6.5\attoparsec-0.13.2.3-GA
4ycFABWuC8tgunM2kJRL
attoparsec > Registering library for attoparsec-0.13.2.3..

-- While building package sendfile-0.7.11.1 using:
C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.4.0.1_ghc-8.6.5.exe --builddir=.stack-work\dist\e626a
42b build --ghc-options " -fdiagnostics-color=always"
Process exited with code: ExitFailure 1
Progress 13/83
```

Attempting the `stack install` command from a Windows command prompt yields a similar result.

Scanning all 3 transcripts for _errors_ (They all produce many _warnings_.) yields:

**MINGW64:**

```
cmark-gfm > cbits\tasklist.c:17:17: error:
cmark-gfm > |
cmark-gfm > 17 | if (!node || ((int)node->as.opaque != CMARK_TASKLIST_CHECKED && (int)node->as.opaque != CMARK_TASKLIST_NOCHECKED))
cmark-gfm > | ^
```

```
cmark-gfm > cbits\tasklist.c:17:67: error:
cmark-gfm > |
cmark-gfm > 17 | if (!node || ((int)node->as.opaque != CMARK_TASKLIST_CHECKED && (int)node->as.opaque != CMARK_TASKLIST_NOCHECKED))
cmark-gfm > | ^
```

{Omitted 2 more like the above, from the same file.}

```
sendfile > src\Network\Socket\SendFile\Win32.hsc:103:1: error:
sendfile > |
sendfile > 103 | foreign import ccall unsafe "io.h _get_osfhandle"
sendfile > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
```

**Cygwin:**

(Contains only the last error reported above.)

**CMD:**

Same as above, but with additional diagnostic information:

```
sendfile > src\Network\Socket\SendFile\Win32.hsc:103:1: error:
sendfile > * Unacceptable result type in foreign declaration:
sendfile > `IntPtr' cannot be marshalled in a foreign call
sendfile > because its data constructor is not in scope
sendfile > Possible fix: import the data constructor to bring it into scope
sendfile > * When checking declaration:
sendfile > foreign import ccall unsafe "io.h _get_osfhandle" c_get_osfhandle
sendfile > :: Fd -> IO IntPtr
sendfile > |
sendfile > 103 | foreign import ccall unsafe "io.h _get_osfhandle"
sendfile > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
```

Oh, I just noticed this, at the very start of my console output:

```
WARNING: Ignoring sendfile's bounds on Win32 (>=2.2.0.0 && <2.3); using Win32-2.6.1.0.
Reason: allow-newer enabled.
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.