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

Use partial SHA1 instead of full platform name and Cabal version on Windows #1027

Merged
merged 1 commit into from Sep 27, 2015

Conversation

Projects
None yet
2 participants
@anton-dessiatov
Contributor

anton-dessiatov commented Sep 22, 2015

I've had problems using Stack with our project on Windows. The issue was that when installing dependencies (in particular, aeson-pretty-0.7.2), Stack failed to compile Paths_aeson_pretty module because full path to intermediate files exceeded Windows 260 characters limit.

This pull request makes build artifacts path shorter by replacing "platform/cabal" part of it with first 8 characters of Base16-encoded SHA1 of it. In my case, this helped to get aeson-pretty succesfully installed.

Replace full platform name and cabal version in build artifact path o…
…n Windows with first 8 symbols of its SHA1 hash. This is done to decrease chances of hitting 260 symbol path limit.
@snoyberg

This comment has been minimized.

Contributor

snoyberg commented Sep 24, 2015

This has two downsides:

  • Paths on Windows will be less user friendly
  • Existing built libraries will be affected (likely unusable)

This is still probably a good move, but would you mind emailing the Stack
mailing list for feedback first?

On Tue, Sep 22, 2015, 2:30 PM Anton Dessiatov notifications@github.com
wrote:

I've had problems using Stack with our project on Windows. The issue was
that when installing dependencies (in particular, aeson-pretty-0.7.2),
Stack failed to compile Paths_aeson_pretty module because full path to
intermediate files exceeded Windows 260 characters limit.

This pull request makes build artifacts path shorter by replacing
"platform/cabal" part of it with first 8 characters of Base16-encoded SHA1

of it. In my case, this helped to get aeson-pretty succesfully installed.

You can view, comment on, or merge this pull request online at:

#1027
Commit Summary

  • Replace full platform name and cabal version in build artifact path
    on Windows with first 8 symbols of its SHA1 hash. This is done to decrease
    chances of hitting 260 symbol path limit.

File Changes

Patch Links:


Reply to this email directly or view it on GitHub
#1027.

@snoyberg snoyberg merged commit 11716a6 into commercialhaskell:master Sep 27, 2015

2 checks passed

continuous-integration/appveyor AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

snoyberg added a commit that referenced this pull request Sep 27, 2015

@snoyberg

This comment has been minimized.

Contributor

snoyberg commented Sep 27, 2015

This is becoming enough of a problem on Windows that I've gone ahead and merged without discussion. The testing we get before the next release will be sufficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment