Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ekg cannot be turned on for Windows builds #17

Open
S11001001 opened this issue Feb 6, 2015 · 7 comments
Open

ekg cannot be turned on for Windows builds #17

S11001001 opened this issue Feb 6, 2015 · 7 comments
Labels

Comments

@S11001001
Copy link
Member

This is with Haskell Platform 2014.2.0.0, ghc 7.8.3, cabal 1.20.0.3, Windows Server 2008 R2.

The working setup

As of 0f5367c

network-2.4.2.3 is preinstalled.

But without trifecta >=1.5.1.2 or blaze-markup <0.6.3, we have the trifecta/blaze mismatch bug.

Fresh sandbox with trifecta >=1.5.1.2, blaze constraint removed

Installs network-2.6.0.2, but:

> cabal build
Building ermine-0.6...
Preprocessing library ermine-0.6...
[ 1 of 85] Compiling Ermine.Syntax.Digest ( src\Ermine\Syntax\Digest.hs, dist\build\Ermine\Syntax\Digest.o )
[ 2 of 85] Compiling Ermine.Syntax.Hint ( src\Ermine\Syntax\Hint.hs, dist\build\Ermine\Syntax\Hint.o )
[ 3 of 85] Compiling Ermine.Monitor.Exception ( src\Ermine\Monitor\Exception.hs, dist\build\Ermine\Monitor\Exception.o )
[ 4 of 85] Compiling Ermine.Monitor.Options ( src\Ermine\Monitor\Options.hs, dist\build\Ermine\Monitor\Options.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.5.0.0 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... done.
Loading package bytestring-0.10.4.0 ... linking ... done.
Loading package Win32-2.3.0.2 ... linking ... done.
Loading package ansi-terminal-0.6.2.1 ... linking ... done.
Loading package ansi-wl-pprint-0.6.7.1 ... linking ... done.
Loading package text-1.2.0.4 ... linking ... done.
Loading package blaze-builder-0.3.3.4 ... linking ... done.
Loading package blaze-markup-0.6.3.0 ... linking ... done.
Loading package blaze-html-0.7.1.0 ... linking ... done.
Loading package containers-0.5.5.1 ... linking ... done.
Loading package hashable-1.2.3.1 ... linking ... done.
Loading package nats-1 ... linking ... done.
Loading package unordered-containers-0.2.5.1 ... linking ... done.
Loading package semigroups-0.16.1 ... linking ... done.
Loading package charset-0.3.7 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package transformers-compat-0.3.3.4 ... linking ... done.
Loading package void-0.7 ... linking ... done.
Loading package contravariant-1.2.0.1 ... linking ... done.
Loading package tagged-0.7.3 ... linking ... done.
Loading package distributive-0.4.4 ... linking ... done.
Loading package comonad-4.2.2 ... linking ... done.
Loading package fingertree-0.1.0.0 ... linking ... done.
Loading package semigroupoids-4.2 ... linking ... done.
Loading package bifunctors-4.2 ... linking ... done.
Loading package mtl-2.1.3.1 ... linking ... done.
Loading package exceptions-0.6.1 ... linking ... done.
Loading package filepath-1.3.0.2 ... linking ... done.
Loading package prelude-extras-0.4 ... linking ... done.
Loading package profunctors-4.3.2 ... linking ... done.
Loading package pretty-1.1.1.1 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package free-4.10.0.1 ... linking ... done.
Loading package parallel-3.2.0.4 ... linking ... done.
Loading package primitive-0.5.2.1 ... linking ... done.
Loading package reflection-1.5.1.1 ... linking ... done.
Loading package split-0.2.2 ... linking ... done.
Loading package vector-0.10.9.1 ... linking ... done.
Loading package lens-4.7 ... linking ... done.
Loading package scientific-0.3.3.7 ... linking ... done.
Loading package attoparsec-0.12.1.2 ... linking ... done.
Loading package parsec-3.1.8 ... linking ... done.
Loading package parsers-0.12.1.1 ... linking ... done.
Loading package keys-3.10.1 ... linking ... done.
Loading package data-default-class-0.0.1 ... linking ... done.
Loading package adjunctions-4.2 ... linking ... done.
Loading package kan-extensions-4.2.1 ... linking ... done.
Loading package stm-2.4.2 ... linking ... done.
Loading package pointed-4.2 ... linking ... done.
Loading package reducers-3.10.3 ... linking ... done.
Loading package utf8-string-0.3.8 ... linking ... done.
Loading package trifecta-1.5.1.2 ... linking ... done.
Loading package old-locale-1.0.0.6 ... linking ... done.
Loading package time-1.4.2 ... linking ... done.
Loading package directory-1.2.1.0 ... linking ... done.
Loading package process-1.2.0.0 ... linking ... done.
Loading package optparse-applicative-0.11.0.1 ... linking ... done.
Loading package monad-st-0.2.4 ... linking ... done.
Loading package hyphenation-0.4.2 ... linking ... done.
Loading package haskeline-0.7.1.2 ... linking ... done.
Loading package old-time-1.1.0.2 ... linking ... done.
Loading package polyparse-1.11 ... linking ... done.
Loading package cpphs-1.18.8 ... linking ... done.
Loading package haskell-src-exts-1.16.0.1 ... linking ... done.
Loading package groom-0.1.2 ... linking ... done.
Loading package file-embed-0.0.8 ... linking ... done.
Loading package dlist-0.7.1 ... linking ... done.
Loading package syb-0.4.1 ... linking ... done.
Loading package aeson-0.8.0.2 ... linking ... done.
Loading package ekg-core-0.1.0.2 ... linking ... done.
Loading package network-2.6.0.2 ... linking ... 
<no location info>:
    ghc.exe: unable to load package `network-2.6.0.2'
[ 5 of 85] Compiling Ermine.Monitor.Combinators ( src\Ermine\Monitor\Combinators.hs, dist\build\Ermine\Monitor\Combinators.o )
[ 6 of 85] Compiling Ermine.Syntax.Sort ( src\Ermine\Syntax\Sort.hs, dist\build\Ermine\Syntax\Sort.o )
[ 7 of 85] Compiling Ermine.Unification.Sharing ( src\Ermine\Unification\Sharing.hs, dist\build\Ermine\Unification\Sharing.o )
[ 8 of 85] Compiling Ermine.Console.Unicode ( dist\build\Ermine\Console\Unicode.hs, dist\build\Ermine\Console\Unicode.o )
[ 9 of 85] Compiling Paths_ermine     ( dist\build\autogen\Paths_ermine.hs, dist\build\Paths_ermine.o )
[12 of 85] Compiling Ermine.Instances ( src\Ermine\Instances.hs, dist\build\Ermine\Instances.o )
[13 of 85] Compiling Ermine.Loader.Core ( src\Ermine\Loader\Core.hs, dist\build\Ermine\Loader\Core.o )

<no location info>:
    ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.8.3 for x86_64-unknown-mingw32):
    Dynamic linker not initialised

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

[16 of 85] Compiling Ermine.Parser.Keywords ( src\Ermine\Parser\Keywords.hs, dist\build\Ermine\Parser\Keywords.o )
[17 of 85] Compiling Ermine.Parser.Style ( src\Ermine\Parser\Style.hs, dist\build\Ermine\Parser\Style.o )
[18 of 85] Compiling Ermine.Version   ( src\Ermine\Version.hs, dist\build\Ermine\Version.o )

<no location info>:
    ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.8.3 for x86_64-unknown-mingw32):
    Dynamic linker not initialised

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

[19 of 85] Compiling Ermine.Syntax.Scope ( src\Ermine\Syntax\Scope.hs, dist\build\Ermine\Syntax\Scope.o )
[20 of 85] Compiling Ermine.Syntax.Name ( src\Ermine\Syntax\Name.hs, dist\build\Ermine\Syntax\Name.o )
[21 of 85] Compiling Ermine.Pretty    ( src\Ermine\Pretty.hs, dist\build\Ermine\Pretty.o )
[22 of 85] Compiling Ermine.Console.State ( src\Ermine\Console\State.hs, dist\build\Ermine\Console\State.o )

<no location info>:
    ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.8.3 for x86_64-unknown-mingw32):
    Dynamic linker not initialised

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

[23 of 85] Compiling Ermine.Diagnostic ( src\Ermine\Diagnostic.hs, dist\build\Ermine\Diagnostic.o )

<no location info>:
    ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.8.3 for x86_64-unknown-mingw32):
    Dynamic linker not initialised

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

[24 of 85] Compiling Ermine.Syntax.ModuleName ( src\Ermine\Syntax\ModuleName.hs, dist\build\Ermine\Syntax\ModuleName.o )
[25 of 85] Compiling Ermine.Syntax.Literal ( src\Ermine\Syntax\Literal.hs, dist\build\Ermine\Syntax\Literal.o )
[26 of 85] Compiling Ermine.Parser.Literal ( src\Ermine\Parser\Literal.hs, dist\build\Ermine\Parser\Literal.o )
[27 of 85] Compiling Ermine.Pretty.Literal ( src\Ermine\Pretty\Literal.hs, dist\build\Ermine\Pretty\Literal.o )
[28 of 85] Compiling Ermine.Syntax.Global ( src\Ermine\Syntax\Global.hs, dist\build\Ermine\Syntax\Global.o )
[29 of 85] Compiling Ermine.Parser.Global ( src\Ermine\Parser\Global.hs, dist\build\Ermine\Parser\Global.o )
[30 of 85] Compiling Ermine.Pretty.Global ( src\Ermine\Pretty\Global.hs, dist\build\Ermine\Pretty\Global.o )
[31 of 85] Compiling Ermine.Syntax.Convention ( src\Ermine\Syntax\Convention.hs, dist\build\Ermine\Syntax\Convention.o )
[32 of 85] Compiling Ermine.Syntax    ( src\Ermine\Syntax.hs, dist\build\Ermine\Syntax.o )
[33 of 85] Compiling Ermine.Syntax.Pattern ( src\Ermine\Syntax\Pattern.hs, dist\build\Ermine\Syntax\Pattern.o )

<no location info>:
    ghc.exe: panic! (the 'impossible' happened)
  (GHC version 7.8.3 for x86_64-unknown-mingw32):
    Dynamic linker not initialised

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

[36 of 85] Compiling Ermine.Syntax.Kind ( src\Ermine\Syntax\Kind.hs, dist\build\Ermine\Syntax\Kind.o )
[52 of 85] Compiling Ermine.Parser.Kind ( src\Ermine\Parser\Kind.hs, dist\build\Ermine\Parser\Kind.o )
[53 of 85] Compiling Ermine.Pretty.Kind ( src\Ermine\Pretty\Kind.hs, dist\build\Ermine\Pretty\Kind.o )
[73 of 85] Compiling Ermine.Builtin.Global ( src\Ermine\Builtin\Global.hs, dist\build\Ermine\Builtin\Global.o )
ghc.exe: warning: SetConsoleCursorPosition from kernel32 is linked instead of __imp_SetConsoleCursorPosition
ghc.exe: warning: FillConsoleOutputCharacterA from kernel32 is linked instead of __imp_FillConsoleOutputCharacterA
ghc.exe: warning: FillConsoleOutputAttribute from kernel32 is linked instead of __imp_FillConsoleOutputAttribute
ghc.exe: J:\scompall\src\ermine\.cabal-sandbox\x86_64-windows-ghc-7.8.3\network-2.6.0.2\HSnetwork-2.6.0.2.o: unknown symbol `shutdownWinSock'

Same as last, but install with --constraint="network<2.5"

The idea is to force use of the already-installed network 2.4.2.3, but
this causes:

network-2.4.2.3 (latest: 2.6.0.2) (reinstall) changes: parsec-3.1.5 -> 3.1.8

Which results in the same error when building ermine.

@S11001001
Copy link
Member Author

@joshcough reproduced with no Platform, GHC 7.8.4, failing while building a dependency that depends on network; see output.

@S11001001
Copy link
Member Author

--constraint="network installed"

cabal install -v --dry-run --only-dependencies --enable-tests --constraint="network installed"
Using a sandbox located at J:\scompall\src\ermine\.cabal-sandbox
Reading available packages...
Reading available packages...
Reading installed packages...
"J:\Program Files\Haskell Platform\2014.2.0.0\bin\ghc-pkg.exe" "dump" "--package-db=J:\scompall\src\ermine\.cabal-sandbox\x86_64-windows-ghc-7.8.3-packages.conf.d" "-v0"
"J:\Program Files\Haskell Platform\2014.2.0.0\bin\ghc.exe" "--print-libdir"
Found no modified add-source deps.
Reading available packages...
Choosing modular solver.
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: ermine-0.6 (user goal)
trying: utf8-string-1 (dependency of ermine-0.6)
next goal: trifecta (dependency of ermine-0.6)
rejecting: trifecta-1.5.1.2 (conflict: utf8-string==1, trifecta =>
utf8-string>=0.3.6 && <0.4)
rejecting: trifecta-1.5.1.1, 1.5.1, 1.5, 1.4.3, 1.4.2, 1.4.1, 1.4, 1.2.1.1,
1.2.1, 1.2, 1.1, 1.0, 0.53, 0.52, 0.51.0.1, 0.51, 0.50.2.1, 0.50.1, 0.50,
0.49.1, 0.49, 0.47, 0.46, 0.45, 0.44, 0.43, 0.42, 0.41, 0.40, 0.39, 0.38,
0.37, 0.36.3, 0.36.2, 0.36.1, 0.36, 0.35, 0.34, 0.32.1, 0.32, 0.31, 0.30,
0.29, 0.28, 0.27, 0.26, 0.25, 0.24, 0.23, 0.22, 0.21, 0.20, 0.19, 0.18, 0.17,
0.16.1, 0.16, 0.15.1, 0.15, 0.14, 0.13, 0.12, 0.11, 0.10, 0.9, 0.8.0.1, 0.8,
0.7.2, 0.7.1, 0.7, 0.6, 0.5.1, 0.5, 0.4, 0.3, 0.2, 0.1 (conflict: ermine =>
trifecta>=1.5.1.2)
Backjump limit reached (change with --max-backjumps).

@S11001001
Copy link
Member Author

@S11001001
Copy link
Member Author

No joy for trifecta 1.5.1.3.

diff --git a/ermine.cabal b/ermine.cabal
index f84c8af..e1efe15 100644
--- a/ermine.cabal
+++ b/ermine.cabal
@@ -188,8 +188,6 @@ library
     base                      >= 4,
     bifunctors                >= 4.1.1,
     binary                    >= 0.7.1,
-    -- TODO remove blaze-builder when trifecta >=1.5.2
-    blaze-markup              < 0.6.3,
     bound                     >= 1.0.3,
     bytes                     >= 0.11,
     bytestring                >= 0.10,
@@ -225,7 +223,7 @@ library
     time                      >= 1.4,
     transformers              >= 0.3,
     transformers-compat       >= 0.4,
-    trifecta                  >= 1.4.1,
+    trifecta                  >= 1.5.1.3,
     unordered-containers      >= 0.2.3,
     utf8-string               >= 0.3.7,
     vector                    >= 0.10,
>cabal list trifecta
* trifecta
    Synopsis: A modern parser combinator library with convenient diagnostics
    Default available version: 1.5.1.3
    Installed versions: [ Not installed ]
    Homepage: http://github.com/ekmett/trifecta/
    License:  BSD3
>cabal install --dry-run --only-dependencies --enable-tests --constraint="network installed"
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: ermine-0.6 (user goal)
rejecting: ermine-0.6:!test (global constraint requires opposite flag
selection)
trying: ermine-0.6:*test
trying: ermine-0.6:+doctests
trying: doctest-0.9.12 (dependency of ermine-0.6:+doctests)
trying: ghc-7.8.3/installed-123... (dependency of doctest-0.9.12)
trying: ermine-0.6:+hlint
trying: ermine-0.6:+properties
trying: ermine-0.6:+repl
trying: ermine-0.6:+core-echo
trying: ermine-0.6:+ekg
trying: transformers-compat-0.4.0.4 (dependency of ermine-0.6)
trying: transformers-compat-0.4.0.4:-two
rejecting: transformers-compat-0.4.0.4:-three (conflict: ghc =>
transformers==0.3.0.0/installed-910..., transformers-compat-0.4.0.4:three =>
transformers>=0.4.1 && <0.5)
rejecting: transformers-compat-0.4.0.4:+three (manual flag can only be changed
explicitly)
Backjump limit reached (change with --max-backjumps).

The solution at 71ee6b3 (i.e. without above patch) is as follows:

>cabal install --dry-run --only-dependencies --enable-tests --constraint="network installed"
Resolving dependencies...
In order, the following would be installed (use -v for more details):
ansi-terminal-0.6.2.1
ansi-wl-pprint-0.6.7.1
blaze-builder-0.3.3.4 (latest: 0.4.0.0)
blaze-markup-0.6.2.0 (latest: 0.6.3.0)
blaze-html-0.7.0.3 (latest: 0.7.1.0)
byteable-0.1.1
cereal-0.4.1.1
cmdargs-0.10.12
cryptohash-0.11.6
data-default-class-0.0.1
data-default-instances-base-0.0.1
data-default-instances-containers-0.0.1
data-default-instances-old-locale-0.0.1
dlist-0.7.1
data-default-instances-dlist-0.0.1
data-default-0.5.3
enumerator-0.4.20
attoparsec-enumerator-0.3.3
blaze-builder-enumerator-0.2.0.6
extensible-exceptions-0.1.1.4
extra-1.1
file-embed-0.0.8
fingertree-0.1.0.1
generic-deriving-1.7.0
ghc-paths-0.1.0.9
doctest-0.9.12
hashable-1.2.3.1
case-insensitive-1.2.0.4
hostname-1.0
language-haskell-extract-0.2.4
monad-st-0.2.4
monads-tf-0.1.0.2
MonadCatchIO-transformers-0.3.1.3
nats-1
polyparse-1.11
cpphs-1.18.9
haskell-src-exts-1.16.0.1
groom-0.1.2
prelude-extras-0.4
reflection-1.5.1.1
scientific-0.2.0.2 (latest: 0.3.3.7)
tagged-0.7.3
tf-random-0.5
QuickCheck-2.7.6
transformers-compat-0.4.0.3 (latest: 0.4.0.4)
distributive-0.4.4
exceptions-0.8
optparse-applicative-0.11.0.2
unix-compat-0.4.1.4
filemanip-0.3.6.3
unordered-containers-0.2.5.1
aeson-0.7.0.4 (latest: 0.8.0.2)
ekg-core-0.1.0.3
hyphenation-0.4.2
quickcheck-instances-0.3.10
semigroups-0.16.1
charset-0.3.7
parsers-0.10.3 (latest: 0.12.1.1)
uniplate-1.6.12
hlint-1.9.16
utf8-string-0.3.8 (latest: 1)
void-0.7
bytes-0.14.1.3
contravariant-1.2.0.1
comonad-4.2.2
semigroupoids-4.3
bifunctors-4.2
hashable-extras-0.2.0.1
profunctors-4.3.2
bound-1.0.4
free-4.10.0.1
adjunctions-4.2
kan-extensions-4.2.1
keys-3.10.1
lens-4.7
pointed-4.2
reducers-3.10.3.1
trifecta-1.5 (latest: 1.5.1.3)
xml-1.3.13
test-framework-0.8.1.1
test-framework-hunit-0.3.0.1
test-framework-quickcheck2-0.3.0.3
test-framework-th-0.2.4
zlib-bindings-0.1.1.5
zlib-enum-0.2.3.1
snap-core-0.9.6.4
snap-server-0.9.4.6
ekg-0.4.0.5

@S11001001
Copy link
Member Author

With the prior mentioned patch:

>cabal install --dry-run --only-dependencies --enable-tests -f-ekg
Resolving dependencies...
In order, the following would be installed (use -v for more details):
ansi-terminal-0.6.2.1
ansi-wl-pprint-0.6.7.1
byteable-0.1.1
cereal-0.4.1.1
cmdargs-0.10.12
cryptohash-0.11.6
data-default-class-0.0.1
data-default-instances-base-0.0.1
data-default-instances-containers-0.0.1
data-default-instances-old-locale-0.0.1
dlist-0.7.1
data-default-instances-dlist-0.0.1
data-default-0.5.3
extensible-exceptions-0.1.1.4
extra-1.1
file-embed-0.0.8
fingertree-0.1.0.1
generic-deriving-1.7.0
ghc-paths-0.1.0.9
doctest-0.9.12
hostname-1.0
language-haskell-extract-0.2.4
monad-st-0.2.4
prelude-extras-0.4
reflection-1.5.1.1
tagged-0.7.3
text-1.2.0.4
blaze-builder-0.3.3.4 (latest: 0.4.0.0)
blaze-markup-0.6.3.0
blaze-html-0.7.1.0
hashable-1.2.3.1
nats-1
parsec-3.1.8
polyparse-1.11
cpphs-1.18.9
haskell-src-exts-1.16.0.1
groom-0.1.2
scientific-0.3.3.7
attoparsec-0.12.1.3
tf-random-0.5
QuickCheck-2.7.6
transformers-compat-0.4.0.3 (latest: 0.4.0.4)
distributive-0.4.4
exceptions-0.8
optparse-applicative-0.11.0.2
unix-compat-0.4.1.4
filemanip-0.3.6.3
unordered-containers-0.2.5.1
hyphenation-0.4.2
quickcheck-instances-0.3.10
semigroups-0.16.1
charset-0.3.7
parsers-0.12.1.1
uniplate-1.6.12
hlint-1.9.16
utf8-string-1
void-0.7
bytes-0.14.1.3
contravariant-1.2.0.1
comonad-4.2.2
semigroupoids-4.3
bifunctors-4.2
hashable-extras-0.2.0.1
profunctors-4.3.2
bound-1.0.4
free-4.10.0.1
adjunctions-4.2
kan-extensions-4.2.1
keys-3.10.1
lens-4.7
pointed-4.2
reducers-3.10.3.1
trifecta-1.5.1.3
xml-1.3.13
test-framework-0.8.1.1
test-framework-hunit-0.3.0.1
test-framework-quickcheck2-0.3.0.3
test-framework-th-0.2.4

@S11001001 S11001001 changed the title Can't upgrade trifecta to 1.5.1.2 on Windows ekg cannot be turned on for Windows builds Feb 20, 2015
@S11001001
Copy link
Member Author

S11001001 commented Feb 20, 2015

Turning on ekg automatically blocks on haskell/cabal#2397 or haskell/network#161.

@S11001001 S11001001 removed the active label Feb 20, 2015
@S11001001 S11001001 removed their assignment Feb 20, 2015
@S11001001
Copy link
Member Author

@joshcough When you first reproduced the original error, were you using minghc, or the GHC windows tarball?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants