Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upUnexpected re-builds with a dependency on GitHub's Win32 #2960
Comments
mgsloan
added
further investigation required
help wanted
type: bug
component: windows
labels
Feb 1, 2017
mgsloan
modified the milestones:
P2: Should,
P1: Must
Feb 1, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mgsloan
Feb 1, 2017
Collaborator
Thanks for the report, that indeed shouldn't happen. Perhaps a windows user would like to investigate and fix?
|
Thanks for the report, that indeed shouldn't happen. Perhaps a windows user would like to investigate and fix? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
egor-tensin
Feb 2, 2017
The output from the second stack build (windows-env is the name of my package):
WARNING: Ignoring out of range dependency (allow-newer enabled): Win32-2.4.0.0.
directory requires: >=2.2.2 && <2.4
WARNING: Ignoring out of range dependency (allow-newer enabled): Win32-2.4.0.0.
process requires: >=2.2 && <2.4
directory-1.2.6.2: unregistering
optparse-applicative-0.12.1.0: unregistering
process-1.4.2.0: unregistering
time-1.6.0.1: unregistering
windows-env-0.1.0.0: unregistering (missing dependencies: directory, optparse-applicative)
time-1.6.0.1: configure
time-1.6.0.1: build
time-1.6.0.1: copy/register
directory-1.2.6.2: configure
directory-1.2.6.2: build
directory-1.2.6.2: copy/register
process-1.4.2.0: configure
process-1.4.2.0: build
process-1.4.2.0: copy/register
optparse-applicative-0.12.1.0: configure
optparse-applicative-0.12.1.0: build
optparse-applicative-0.12.1.0: copy/register
windows-env-0.1.0.0: build (lib + exe)
Preprocessing library windows-env-0.1.0.0...
Preprocessing executable 'addpath' for windows-env-0.1.0.0...
Linking .stack-work\dist\b7fec021\build\addpath\addpath.exe ...
Preprocessing executable 'delenv' for windows-env-0.1.0.0...
Linking .stack-work\dist\b7fec021\build\delenv\delenv.exe ...
Preprocessing executable 'delpath' for windows-env-0.1.0.0...
Linking .stack-work\dist\b7fec021\build\delpath\delpath.exe ...
Preprocessing executable 'paths' for windows-env-0.1.0.0...
Linking .stack-work\dist\b7fec021\build\paths\paths.exe ...
Preprocessing executable 'setenv' for windows-env-0.1.0.0...
Linking .stack-work\dist\b7fec021\build\setenv\setenv.exe ...
windows-env-0.1.0.0: copy/register
Installing library in
D:\workspace\personal\windows-env\.stack-work\install\03bf06dd\lib\x86_64-windows-ghc-8.0.1\windows-env-0.1.0.0-98aMgQvIAdMBhCdUoCFo3Z
Installing executable(s) in
D:\workspace\personal\windows-env\.stack-work\install\03bf06dd\bin
Registering windows-env-0.1.0.0...
Completed 5 action(s).
I should've probably mentioned that some of my dependencies disallow the fixed Win32 version (2.4.0.0) to be used because of the upper version bound, but its only difference from the previous version 2.3.1.1 is the bugfix, so I have allow-newer: true in my stack.yaml.
egor-tensin
commented
Feb 2, 2017
•
|
The output from the second
I should've probably mentioned that some of my dependencies disallow the fixed |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
egor-tensin
Mar 25, 2017
This issue can be reproduced if you checkout commit bdf50a5e75f9fad6ce9dd318f4bfcaec883514f3 (I'm not going to track whether it'll stay reproducible later).
egor-tensin
commented
Mar 25, 2017
•
|
This issue can be reproduced if you checkout commit |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
joeyh
Oct 25, 2017
Having the same trouble with git-annex, also due to overriding the win32 location. My stack builds are taking half an hour or more due to this problem, rather than a few seconds.
I noticed that Cabal is amoung the packages stack rebuilds every time, because it depends on win32. Suspect that being a dep of Cabal might be what makes this special.
joeyh
commented
Oct 25, 2017
|
Having the same trouble with git-annex, also due to overriding the win32 location. My stack builds are taking half an hour or more due to this problem, rather than a few seconds. I noticed that Cabal is amoung the packages stack rebuilds every time, because it depends on win32. Suspect that being a dep of Cabal might be what makes this special. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
joeyh
Oct 25, 2017
And here's the resulting "incremental" build mess:
stack build -j 1 --stack-yaml stack-windows.yaml --no-haddock --dependencies-only
Cabal-1.24.2.0: unregistering
QuickCheck-2.9.2: unregistering
Win32-notify-0.3.0.3: unregistering
aeson-1.1.2.0: unregistering
aeson-compat-0.3.6: unregistering
ansi-terminal-0.6.3.1: unregistering
ansi-wl-pprint-0.6.7.3: unregistering
attoparsec-iso8601-1.0.0.0: unregistering
bifunctors-5.4.2: unregistering (missing dependencies: comonad)
cabal-doctest-1.0.2: unregistering
comonad-5.0.2: unregistering (missing dependencies: Cabal, cabal-doctest, distributive)
concurrent-output-1.9.2: unregistering
conduit-extra-1.1.17: unregistering
cookie-0.4.2.1: unregistering
crypto-api-0.13.2: unregistering (missing dependencies: entropy)
cryptonite-conduit-0.2.0: unregistering
directory-1.3.0.0: unregistering
distributive-0.5.3: unregistering (missing dependencies: Cabal, cabal-doctest)
dns-2.0.13: unregistering
easy-file-0.2.1: unregistering
edit-distance-0.2.2.1: unregistering
entropy-0.3.8: unregistering (missing dependencies: Cabal, directory, process)
fast-logger-2.4.10: unregistering
feed-0.3.12.0: unregistering
file-embed-0.0.10: unregistering
haskeline-0.7.4.0: unregistering
hjsmin-0.2.0.2: unregistering (missing dependencies: optparse-applicative)
hslogger-1.2.10: unregistering
http-api-data-0.3.7.1: unregistering
http-client-0.5.7.0: unregistering
monad-logger-0.3.25.1: unregistering
mwc-random-0.13.6.0: unregistering
optparse-applicative-0.13.2.0: unregistering
path-pieces-0.2.1: unregistering
persistent-2.7.0: unregistering
process-1.4.3.0: unregistering
random-1.1: unregistering
resource-pool-0.2.3.2: unregistering
shakespeare-2.0.14: unregistering
silently-1.2.5: unregistering
simple-sendfile-0.2.25: unregistering
skein-1.0.9.4: unregistering (missing dependencies: crypto-api)
streaming-commons-0.1.17: unregistering
tasty-0.11.3: unregistering
tasty-hunit-0.9.2: unregistering
Cannot contact windows-7-pro-x86_64: java.lang.InterruptedException
tasty-quickcheck-0.8.4: unregistering
tasty-quickcheck-0.8.4: unregistering
terminal-size-0.3.2.1: unregistering
tf-random-0.5: unregistering
time-1.6.0.1: unregistering
time-locale-compat-0.1.1.3: unregistering
unix-compat-0.4.3.1: unregistering
uuid-1.3.13: unregistering
uuid-types-1.0.3: unregistering
wai-app-static-3.1.6.1: unregistering
wai-extra-3.0.20.0: unregistering
wai-logger-2.3.0: unregistering
warp-3.2.13: unregistering
x509-store-1.6.5: unregistering
time-1.6.0.1: configure
time-1.6.0.1: build
time-1.6.0.1: copy/register
attoparsec-iso8601-1.0.0.0: configure
attoparsec-iso8601-1.0.0.0: build
attoparsec-iso8601-1.0.0.0: copy/register
cookie-0.4.2.1: configure
cookie-0.4.2.1: build
cookie-0.4.2.1: copy/register
directory-1.3.0.0: configure
directory-1.3.0.0: build
directory-1.3.0.0: copy/register
Win32-notify-0.3.0.3: configure
Win32-notify-0.3.0.3: build
Win32-notify-0.3.0.3: copy/register
easy-file-0.2.1: configure
easy-file-0.2.1: build
easy-file-0.2.1: copy/register
fast-logger-2.4.10: configure
fast-logger-2.4.10: build
fast-logger-2.4.10: copy/register
file-embed-0.0.10: configure
file-embed-0.0.10: build
file-embed-0.0.10: copy/register
mwc-random-0.13.6.0: configure
mwc-random-0.13.6.0: build
mwc-random-0.13.6.0: copy/register
path-pieces-0.2.1: configure
path-pieces-0.2.1: build
path-pieces-0.2.1: copy/register
process-1.4.3.0: configure
process-1.4.3.0: build
process-1.4.3.0: copy/register
Cabal-1.24.2.0: configure
Cabal-1.24.2.0: build
Cabal-1.24.2.0: copy/register
ansi-terminal-0.6.3.1: configure
ansi-terminal-0.6.3.1: build
ansi-terminal-0.6.3.1: copy/register
ansi-wl-pprint-0.6.7.3: configure
ansi-wl-pprint-0.6.7.3: build
ansi-wl-pprint-0.6.7.3: copy/register
cabal-doctest-1.0.2: configure
cabal-doctest-1.0.2: build
cabal-doctest-1.0.2: copy/register
distributive-0.5.3: configure
distributive-0.5.3: build
distributive-0.5.3: copy/register
comonad-5.0.2: configure
comonad-5.0.2: build
comonad-5.0.2: copy/register
bifunctors-5.4.2: configure
bifunctors-5.4.2: build
bifunctors-5.4.2: copy/register
entropy-0.3.8: configure
entropy-0.3.8: build
entropy-0.3.8: copy/register
crypto-api-0.13.2: configure
crypto-api-0.13.2: build
crypto-api-0.13.2: copy/register
haskeline-0.7.4.0: configure
haskeline-0.7.4.0: build
haskeline-0.7.4.0: copy/register
hslogger-1.2.10: configure
hslogger-1.2.10: build
hslogger-1.2.10: copy/register
optparse-applicative-0.13.2.0: configure
optparse-applicative-0.13.2.0: build
optparse-applicative-0.13.2.0: copy/register
hjsmin-0.2.0.2: configure
hjsmin-0.2.0.2: build
hjsmin-0.2.0.2: copy/register
profunctors-5.2.1: configure
profunctors-5.2.1: build
profunctors-5.2.1: copy/register
random-1.1: configure
random-1.1: build
random-1.1: copy/register
edit-distance-0.2.2.1: configure
edit-distance-0.2.2.1: build
edit-distance-0.2.2.1: copy/register
resource-pool-0.2.3.2: configure
resource-pool-0.2.3.2: build
resource-pool-0.2.3.2: copy/register
semigroupoids-5.2.1: configure
semigroupoids-5.2.1: build
semigroupoids-5.2.1: copy/register
free-4.12.4: configure
free-4.12.4: build
free-4.12.4: copy/register
adjunctions-4.3: configure
adjunctions-4.3: build
adjunctions-4.3: copy/register
kan-extensions-5.0.2: configure
kan-extensions-5.0.2: build
kan-extensions-5.0.2: copy/register
lens-4.15.4: configure
lens-4.15.4: build
lens-4.15.4: copy/register
reducers-3.12.2: configure
reducers-3.12.2: build
reducers-3.12.2: copy/register
silently-1.2.5: configure
silently-1.2.5: build
silently-1.2.5: copy/register
skein-1.0.9.4: configure
skein-1.0.9.4: build
skein-1.0.9.4: copy/register
clientsession-0.9.1.2: configure
clientsession-0.9.1.2: build
clientsession-0.9.1.2: copy/register
streaming-commons-0.1.17: configure
streaming-commons-0.1.17: build
streaming-commons-0.1.17: copy/register
conduit-extra-1.1.17: configure
conduit-extra-1.1.17: build
conduit-extra-1.1.17: copy/register
cryptonite-conduit-0.2.0: configure
cryptonite-conduit-0.2.0: build
cryptonite-conduit-0.2.0: copy/register
dns-2.0.13: configure
dns-2.0.13: build
dns-2.0.13: copy/register
http-client-0.5.7.0: configure
http-client-0.5.7.0: build
http-client-0.5.7.0: copy/register
monad-logger-0.3.25.1: configure
monad-logger-0.3.25.1: build
monad-logger-0.3.25.1: copy/register
simple-sendfile-0.2.25: configure
simple-sendfile-0.2.25: build
simple-sendfile-0.2.25: copy/register
tasty-0.11.3: configure
tasty-0.11.3: build
tasty-0.11.3: copy/register
tasty-hunit-0.9.2: configure
tasty-hunit-0.9.2: build
tasty-hunit-0.9.2: copy/register
tasty-rerun-1.1.7: configure
tasty-rerun-1.1.7: build
tasty-rerun-1.1.7: copy/register
terminal-size-0.3.2.1: configure
terminal-size-0.3.2.1: build
terminal-size-0.3.2.1: copy/register
concurrent-output-1.9.2: configure
concurrent-output-1.9.2: build
concurrent-output-1.9.2: copy/register
tf-random-0.5: configure
tf-random-0.5: build
tf-random-0.5: copy/register
QuickCheck-2.9.2: configure
QuickCheck-2.9.2: build
QuickCheck-2.9.2: copy/register
tasty-quickcheck-0.8.4: configure
tasty-quickcheck-0.8.4: build
tasty-quickcheck-0.8.4: copy/register
time-locale-compat-0.1.1.3: configure
time-locale-compat-0.1.1.3: build
time-locale-compat-0.1.1.3: copy/register
feed-0.3.12.0: configure
feed-0.3.12.0: build
feed-0.3.12.0: copy/register
unix-compat-0.4.3.1: configure
unix-compat-0.4.3.1: build
unix-compat-0.4.3.1: copy/register
uuid-types-1.0.3: configure
uuid-types-1.0.3: build
uuid-types-1.0.3: copy/register
aeson-1.1.2.0: configure
aeson-1.1.2.0: build
aeson-1.1.2.0: copy/register
aeson-compat-0.3.6: configure
aeson-compat-0.3.6: build
aeson-compat-0.3.6: copy/register
http-api-data-0.3.7.1: configure
http-api-data-0.3.7.1: build
http-api-data-0.3.7.1: copy/register
persistent-2.7.0: configure
persistent-2.7.0: build
persistent-2.7.0: copy/register
esqueleto-2.5.3: configure
esqueleto-2.5.3: build
esqueleto-2.5.3: copy/register
persistent-sqlite-2.6.2: configure
persistent-sqlite-2.6.2: build
persistent-sqlite-2.6.2: copy/register
persistent-template-2.5.3: configure
persistent-template-2.5.3: build
persistent-template-2.5.3: copy/register
shakespeare-2.0.14: configure
shakespeare-2.0.14: build
shakespeare-2.0.14: copy/register
uuid-1.3.13: configure
uuid-1.3.13: build
uuid-1.3.13: copy/register
wai-logger-2.3.0: configure
wai-logger-2.3.0: build
wai-logger-2.3.0: copy/register
wai-extra-3.0.20.0: configure
wai-extra-3.0.20.0: build
wai-extra-3.0.20.0: copy/register
warp-3.2.13: configure
warp-3.2.13: build
warp-3.2.13: copy/register
wai-app-static-3.1.6.1: configure
wai-app-static-3.1.6.1: build
wai-app-static-3.1.6.1: copy/register
x509-store-1.6.5: configure
x509-store-1.6.5: build
x509-store-1.6.5: copy/register
x509-system-1.6.6: configure
x509-system-1.6.6: build
x509-system-1.6.6: copy/register
x509-validation-1.6.9: configure
x509-validation-1.6.9: build
x509-validation-1.6.9: copy/register
tls-1.3.11: configure
tls-1.3.11: build
tls-1.3.11: copy/register
connection-0.2.8: configure
connection-0.2.8: build
connection-0.2.8: copy/register
http-client-tls-0.3.5.1: configure
http-client-tls-0.3.5.1: build
http-client-tls-0.3.5.1: copy/register
http-conduit-2.2.3.2: configure
http-conduit-2.2.3.2: build
http-conduit-2.2.3.2: copy/register
tls-session-manager-0.0.0.1: configure
tls-session-manager-0.0.0.1: build
tls-session-manager-0.0.0.1: copy/register
warp-tls-3.2.4: configure
warp-tls-3.2.4: build
warp-tls-3.2.4: copy/register
xml-conduit-1.5.1: configure
xml-conduit-1.5.1: build
xml-conduit-1.5.1: copy/register
aws-0.17.1: configure
aws-0.17.1: build
aws-0.17.1: copy/register
xml-hamlet-0.4.1.1: configure
xml-hamlet-0.4.1.1: build
xml-hamlet-0.4.1.1: copy/register
DAV-1.3.1: configure
DAV-1.3.1: build
DAV-1.3.1: copy/register
yaml-0.8.23.3: configure
yaml-0.8.23.3: build
yaml-0.8.23.3: copy/register
yesod-core-1.4.37: configure
yesod-core-1.4.37: build
yesod-core-1.4.37: copy/register
yesod-default-1.2.0: configure
yesod-default-1.2.0: build
yesod-default-1.2.0: copy/register
yesod-persistent-1.4.2: configure
yesod-persistent-1.4.2: build
yesod-persistent-1.4.2: copy/register
yesod-form-1.4.16: configure
yesod-form-1.4.16: build
yesod-form-1.4.16: copy/register
yesod-1.4.5: configure
yesod-1.4.5: build
yesod-1.4.5: copy/register
yesod-static-1.5.3.1: configure
yesod-static-1.5.3.1: build
yesod-static-1.5.3.1: copy/register
Completed 89 action(s).
joeyh
commented
Oct 25, 2017
•
|
And here's the resulting "incremental" build mess: stack build -j 1 --stack-yaml stack-windows.yaml --no-haddock --dependencies-only |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mgsloan
Oct 25, 2017
Collaborator
@joeyh Which version of stack is that with? Can you please try with the master version of stack stack upgrade --git? Hopefully it is already fixed.
If this is an issue for development, not CI, then it is often helpful to use stack ghci for quick :reload + :main iterations.
|
@joeyh Which version of stack is that with? Can you please try with the master version of stack If this is an issue for development, not CI, then it is often helpful to use |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
zyv
commented
Oct 26, 2017
|
This is stack 1.5.1 for Windows (32 bit), and the issue is exactly with CI builds. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
joeyh
commented
Oct 26, 2017
|
stack upgrade --git did fix this!
…--
see shy jo
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mgsloan
Oct 26, 2017
Collaborator
@joeyh Woohoo!
So I think this is likely solved, and 1.6 will be out soon. Anyone that runs into this with 1.6 should open a new issue about it.
|
@joeyh Woohoo! So I think this is likely solved, and 1.6 will be out soon. Anyone that runs into this with 1.6 should open a new issue about it. |
egor-tensin commentedJan 30, 2017
•
edited
Edited 1 time
-
egor-tensin
edited Feb 2, 2017 (most recent)
This issue is Windows-only. I'm also not sure if it's expected behaviour, so I apologize beforehand if I should've just RTFM.
I'm building a project (https://github.com/egor-tensin/windows-env) with a dependency on a specific package version from GitHub. This package (
Win32) is also present on Stackage, but it is currently falling behind a bit, lacking a bugfix from the upstream, so I'm pulling the correct version from GitHub usingThis version is basically identical to Stackage's, except for the bugfix. A few of my package's dependencies also depend on
Win32.Steps to reproduce
cabal build.cabal build.Expected
No re-building.
Actual
Many of package's dependencies are re-built.
Stack version
Method of installation