claraina
claraina

Reputation: 63

stack install error: Recommended extra-dep

I am currently trying to install stack to utilise the software Taiji. I have been able to run 'stack setup', but get an error when I run stack install:

C:\Users\My Name\Taiji-1.2.1>stack install

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for shelly-1.8.1:
    unix needed, but the stack configuration has no specified version  (latest matching version is 2.7.2.2)
needed due to Taiji-1.2.1 -> shelly-1.8.1

Some different approaches to resolving this:

  * Recommended action: try adding the following to your extra-deps in C:\Users\My Name\Taiji-1.2.1\stack.yaml:

- unix-2.7.2.2@sha256:9e93f93cc5a065248120136e83a0a6d1ce93d6eb5ef2a2543f9593e93e164d24,3496

Plan construction failed.

I am guessing I'll have to install another package of some sort and put it into the Taiji-1.2.1 folder, but am not exactly sure how(I am completely new to stack/programming). Is anyone able to help me with this issue? Thanks kindly.

Upvotes: 2

Views: 1042

Answers (1)

bradrn
bradrn

Reputation: 8467

When you see this error, you will need to open stack.yaml (the error message contains the full path), find the line saying # extra-deps: [], and replace it with the line shown in the error message:

extra-deps:
- unix-2.7.2.2@sha256:9e93f93cc5a065248120136e83a0a6d1ce93d6eb5ef2a2543f9593e93e164d24,3496

(If you already have something listed in extra-deps, then you can just add that line to the end of extra-deps rather than replacing the whole thing.)

Now, this is usually enough. But you’ve got a further problem: you are using Windows, but you’re trying to compile a program which depends on the unix package — a package which is not available on Windows. Due to this, you will not be able to compile your program on Windows.

(As for why all that extra-deps stuff is needed: basically, Stack maintains a list of package versions known to work with each other, but occasionally you will run into a package which isn’t in that list. In that case you will need to list that package version in extra-deps to tell Stack which version to use.)

Upvotes: 2

Related Questions