Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6756955
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T13:35:15+00:00 2026-05-26T13:35:15+00:00

I want to install yesod to learn a bit about web and playing a

  • 0

I want to install yesod to learn a bit about web and playing a bit with Haskell in my spare time but when i do:

> cabal install yesod
Resolving dependencies...
cabal: cannot configure cprng-aes-0.2.2. It requires crypto-api >=0.8
For the dependency on crypto-api >=0.8 there are these packages:
crypto-api-0.8. However none of them are available.
crypto-api-0.8 was excluded because skein-0.1.0.1 requires crypto-api ==0.6.*
crypto-api-0.8 was excluded because crypto-api-0.6.4 was selected instead
crypto-api-0.8 was excluded because clientsession-0.7.3.1 requires crypto-api
>=0.6.4 && <0.7

but i think i have the right packages installed

cabal list cprng-aes skein crypto-api clientsession
* clientsession
    Synopsis: Securely store session data in a client-side cookie.
    Default available version: 0.7.3.1
    Installed versions: 0.7.3.1
    Homepage: http://github.com/snoyberg/clientsession/tree/master
    License:  BSD3

* cprng-aes
    Synopsis: Crypto Pseudo Random Number Generator using AES in counter mode.
    Default available version: 0.2.2
    Installed versions: 0.2.2
    Homepage: http://github.com/vincenthz/hs-cprng-aes
    License:  BSD3

* crypto-api
    Synopsis: A generic interface for cryptographic operations
    Default available version: 0.8
    Installed versions: 0.6.4, 0.8
    Homepage: http://trac.haskell.org/crypto-api/wiki
    License:  BSD3

* crypto-api-tests
    Synopsis: A test framework and KATs for cryptographic operations.
    Default available version: 0.1
    Installed versions: [ Not installed ]
    Homepage: http://trac.haskell.org/crypto-api/wiki
    License:  BSD3

* hack-middleware-clientsession
    Synopsis: Middleware for easily keeping session data in client cookies.
    Default available version: 0.0.1
    Installed versions: [ Not installed ]
    Homepage: http://github.com/snoyberg/hack-middleware-clientsession/tree/master
    License:  BSD3

* skein
    Synopsis: Skein, a family of cryptographic hash functions. Includes
              Skein-MAC as well.
    Default available version: 0.1.0.1
    Installed versions: 0.1.0.1
    License:  BSD3

i don’t know much about cabal install but it seems that both crypto-api >=0.8 and <7 are required, which seems impossible.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T13:35:16+00:00Added an answer on May 26, 2026 at 1:35 pm

    Crypto-API maintainer here.

    THE PROBLEM

    The problem is the packages are mutually exclusive. The latest cprng-aes requires crypto-api version >= 0.8. The latest skein requires crypto-api 0.6.*. So what we want to have happen is the skein developer (whom I will e-mail) to update the package.

    FOR NOW

    Till then, you’ll need to install older versions of the packages in question. Try something like:

    cabal install yesod 'crypto-api == 0.6.4' 'cprng == 0.2.1'
    

    I think that syntax is right. If not you can always do:

    cabal install yesod crypto-api-0.6.4 cprng-0.2.1
    

    HOW CAN THE COMMUNITY AVOID THIS

    In the long term I hope cabal will get better and automatically finding compatible versions, as I did for the above. Short of such cabal improvements, which everyone mentions and nobody implements, it would be good of package maintainers to try and keep a consistent lower bound on their build-deps. If cprng-aes still accepted crypto-api >= 0.5 then I think this would have been installed by cabal. This is a bit much to ask of package maintainers, but they can do it using CPP and the {MAX,MIN}_VERSION macros provided by cabal.

    EDIT: UPDATE
    Felipe has updated skein and uploaded to hackage. Michael has updated clientsession and, seeing as he is the Yesod maintainer and already involved in e-mail conversations, I’m sure he will upload it to hackage soon. Things should be fixed by the time you read this message, just run:

     cabal update ; cabal install yesod
    

    On reflection, I see how much traffic major version bumps in crypto-api cause the rest of the community. I’m not sure how to handle the issue. I could have just observed that “no one will be affected if I make this change” and just break with PVP. OTOH, if I do break someones code when I fail to follow PVP then they have a legitimate reason to be upset. Any community comments?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to install rsync on windows xp. I have searched the web, but
I'm working on a haskell web app using yesod that I eventually want to
I want to use Yesod web framework with yesod-auth-oauth, but I encountered a dependency
I want install android on my computer but using the sdk it fails to
I want to install outlook add-ins (Which is developed by Visual studio 2008) but
I want to install satchmo in my virtual hosting, but they dont provide ssh
I want to install this python package: http://pypi.python.org/pypi/netifaces/0.5 But I don't know how and
I want to install VMware tools on Arch Linux, but when I click to
I want to install the iPhone 4.0 SDK, but I don't want to lose
I want to install pinax on windows , I have to install PIL but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.