0

I'm trying to install async and it's proving to be an awful venture! I try to install it through cabal with the command cabal install async. This gives me the error:

~/Desktop : cabal install async
Resolving dependencies...
Up to date
Warning: You asked to install executables, but there are no executables in
target: async. Perhaps you want to use --lib to install libraries instead.

Installing now with the command cabal install async --lib gives me the error :

Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] next goal: base (user goal)
[__0] rejecting: base-4.14.1.0, base-4.14.0.0 (constraint from user target
requires ==4.13.0.0)
[__0] trying: base-4.13.0.0/installed-4.13.0.0
[__1] next goal: ghc (user goal)
[__1] rejecting: ghc-8.10.2, ghc-8.10.1 (constraint from user target requires
==8.8.3)
[__1] trying: ghc-8.8.3/installed-8.8.3
[__2] next goal: process (user goal)
[__2] rejecting: process-1.6.11.0 (constraint from user target requires
==1.6.10.0)
[__2] rejecting: process-1.6.10.0 (conflict: ghc =>
process==1.6.8.0/installed-1.6.8.0)
[__2] rejecting: process-1.6.9.0, process-1.6.8.2, process-1.6.8.1,
process-1.6.8.0/installed-1.6.8.0, process-1.6.8.0, process-1.6.7.0,
process-1.6.6.0, process-1.6.5.1, process-1.6.5.0, process-1.6.4.0,
process-1.6.3.0, process-1.6.2.0, process-1.6.1.0, process-1.6.0.0,
process-1.5.0.0, process-1.4.3.0, process-1.4.2.0, process-1.4.1.0,
process-1.4.0.0, process-1.3.0.0, process-1.2.3.0, process-1.2.2.0,
process-1.2.1.0, process-1.2.0.0, process-1.1.0.2, process-1.1.0.1,
process-1.1.0.0, process-1.0.1.5, process-1.0.1.4, process-1.0.1.3,
process-1.0.1.2, process-1.0.1.1, process-1.0.0.0 (constraint from user target
requires ==1.6.10.0)
[__2] fail (backjumping, conflict set: ghc, process)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: process, ghc, base

My process, ghc, and base are incompatible. I'm presuming it's because of the version constraints but when I try to install the package through the following commands, I get this message:

cabal get async
cd async-2.2.3
cabal build

Resolving dependencies...
Build profile: -w ghc-8.8.3 -O1
In order, the following will be built (use -v for more details):
 - async-2.2.3 (lib) (first run)
Configuring library for async-2.2.3..
Preprocessing library for async-2.2.3..
Building library for async-2.2.3..
[1 of 1] Compiling Control.Concurrent.Async ( Control/Concurrent/Async.hs, /Users/edward/Desktop/lsy/Olivia/async-2.2.3/dist-newstyle/build/x86_64-osx/ghc-8.8.3/async-2.2.3/build/Control/Concurrent/Async.o )

Control/Concurrent/Async.hs:215:1: warning: [-Wunused-imports]
    The import of ‘Data.Semigroup’ is redundant
      except perhaps to import instances from ‘Data.Semigroup’
    To import instances alone, use: import Data.Semigroup()
    |
215 | import Data.Semigroup (Semigroup((<>)))
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

When I go to actually import the library now, it says that its hidden and that the only way I can use it is if I expose but to expose it, I can only use the package within ghci rather than in programs such as those found here https://www.fpcomplete.com/haskell/library/async/

If it was able to build the library, shouldn't I "have" the library?

Mr.Bloom
  • 343
  • 1
  • 11

0 Answers0