I can't install Tidal

Do you wish to continue?
y/n (or press Enter to continue)

-> y
Checking dependencies..

	✓ SuperCollider.app
	✓ Atom.app
	✓ ghci

All app dependencies found!

Checking packages..
Checking if tidal package is installed..
Installing tidal..
Resolving dependencies...
Configuring tidal-1.0.13...
Building tidal-1.0.13...
Failed to install tidal-1.0.13
Build log ( /Users/Jonatan/.cabal/logs/ghc-8.2.1/tidal-1.0.13-8CYq8UmFXum90FTrVZ8FlS.log ):
cabal: Entering directory '/var/folders/mp/btf42wkx2395w882w_0rrdgm0000gn/T/cabal-tmp-2721/tidal-1.0.13'
Configuring tidal-1.0.13...
Preprocessing library for tidal-1.0.13..
Building library for tidal-1.0.13..
[ 1 of 22] Compiling Sound.Tidal.Bjorklund ( src/Sound/Tidal/Bjorklund.hs, dist/build/Sound/Tidal/Bjorklund.o )
[ 2 of 22] Compiling Sound.Tidal.Config ( src/Sound/Tidal/Config.hs, dist/build/Sound/Tidal/Config.o )
[ 3 of 22] Compiling Sound.Tidal.MiniTidal.Token ( src/Sound/Tidal/MiniTidal/Token.hs, dist/build/Sound/Tidal/MiniTidal/Token.o )

src/Sound/Tidal/MiniTidal/Token.hs:4:1: warning: [-Wunused-imports]
    The import of ‘parserZero’
    from module ‘Text.Parsec.Prim’ is redundant
  |
4 | import           Text.Parsec.Prim (ParsecT,parserZero)
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 4 of 22] Compiling Sound.Tidal.MiniTidal.TH ( src/Sound/Tidal/MiniTidal/TH.hs, dist/build/Sound/Tidal/MiniTidal/TH.o )
[ 5 of 22] Compiling Sound.Tidal.Pattern ( src/Sound/Tidal/Pattern.hs, dist/build/Sound/Tidal/Pattern.o )
[ 6 of 22] Compiling Sound.Tidal.Core ( src/Sound/Tidal/Core.hs, dist/build/Sound/Tidal/Core.o )
[ 7 of 22] Compiling Sound.Tidal.Chords ( src/Sound/Tidal/Chords.hs, dist/build/Sound/Tidal/Chords.o )
[ 8 of 22] Compiling Sound.Tidal.Tempo ( src/Sound/Tidal/Tempo.hs, dist/build/Sound/Tidal/Tempo.o )
[ 9 of 22] Compiling Sound.Tidal.Stream ( src/Sound/Tidal/Stream.hs, dist/build/Sound/Tidal/Stream.o )

src/Sound/Tidal/Stream.hs:135:1: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In an equation for ‘toDatum’: Patterns not matched: (VR _)
    |
135 | toDatum (VF x) = O.float x
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^...

src/Sound/Tidal/Stream.hs:240:21: warning: [-Wname-shadowing]
    This binding for ‘cycle’ shadows the existing binding
      imported from ‘Prelude’ at src/Sound/Tidal/Stream.hs:4:8-25
      (and originally defined in ‘GHC.List’)
    |
240 |                 let cycle = T.timeToCycles tempo now
    |                     ^^^^^
[10 of 22] Compiling Sound.Tidal.EspGrid ( src/Sound/Tidal/EspGrid.hs, dist/build/Sound/Tidal/EspGrid.o )
[11 of 22] Compiling Sound.Tidal.Carabiner ( src/Sound/Tidal/Carabiner.hs, dist/build/Sound/Tidal/Carabiner.o )

src/Sound/Tidal/Carabiner.hs:6:1: warning: [-Wunused-imports]
    The import of ‘threadDelay’
    from module ‘Control.Concurrent’ is redundant
  |
6 | import Control.Concurrent (forkIO, threadDelay, takeMVar, putMVar)
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Sound/Tidal/Carabiner.hs:15:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature: port :: Integer
   |
15 | port = 17000
   | ^^^^

src/Sound/Tidal/Carabiner.hs:15:8: warning: [-Wtype-defaults]
    • Defaulting the following constraint to type ‘Integer’
        Num p0 arising from the literal ‘17000’
    • In the expression: 17000
      In an equation for ‘port’: port = 17000
   |
15 | port = 17000
   |        ^^^^^

src/Sound/Tidal/Carabiner.hs:23:31: warning: [-Wname-shadowing]
    This binding for ‘port’ shadows the existing binding
      defined at src/Sound/Tidal/Carabiner.hs:15:1
   |
23 | client tidal bpc latency host port = withSocketsDo $
   |                               ^^^^

src/Sound/Tidal/Carabiner.hs:45:12: warning: [-Wname-shadowing]
    This binding for ‘start’ shadows the existing binding
      imported from ‘Sound.Tidal.Tempo’ at src/Sound/Tidal/Carabiner.hs:8:1-24
      (and originally defined at src/Sound/Tidal/Tempo.hs:34:21-25)
   |
45 |   = do let start = (lookup ":start" pairs >>= readMaybe) :: Maybe Integer
   |            ^^^^^

src/Sound/Tidal/Carabiner.hs:55:14: warning: [-Wunused-local-binds]
    Defined but not used: ‘cyc’
   |
55 |              cyc = toRational $ (fromJust beat) / (fromIntegral bpc)
   |              ^^^

src/Sound/Tidal/Carabiner.hs:65:23: warning: [-Wunused-do-bind]
    A do-notation statement discarded a result of type ‘Int’
    Suppress this warning by saying ‘_ <- send sock $ B8.pack msg’
   |
65 | sendMsg sock msg = do send sock $ B8.pack msg
   |                       ^^^^^^^^^^^^^^^^^^^^^^^
[12 of 22] Compiling Sound.Tidal.Utils ( src/Sound/Tidal/Utils.hs, dist/build/Sound/Tidal/Utils.o )
[13 of 22] Compiling Sound.Tidal.Scales ( src/Sound/Tidal/Scales.hs, dist/build/Sound/Tidal/Scales.o )
[14 of 22] Compiling Sound.Tidal.Params ( src/Sound/Tidal/Params.hs, dist/build/Sound/Tidal/Params.o )
[15 of 22] Compiling Sound.Tidal.UI   ( src/Sound/Tidal/UI.hs, dist/build/Sound/Tidal/UI.o )

src/Sound/Tidal/UI.hs:31:1: warning: [-Wmissing-signatures]
    Top-level binding with no type signature:
      timeToSeed :: (Real p,
                     primitive-0.6.2.0:Control.Monad.Primitive.PrimMonad m) =>
                    p
                    -> m (Gen (primitive-0.6.2.0:Control.Monad.Primitive.PrimState m))
   |
31 | timeToSeed x = do
   | ^^^^^^^^^^

src/Sound/Tidal/UI.hs:1617:7: warning: [-Wname-shadowing]
    This binding for ‘pi’ shadows the existing binding
      imported from ‘Prelude’ at src/Sound/Tidal/UI.hs:5:1-44
      (and originally defined in ‘GHC.Float’)
     |
1617 | pickF pi fs pat = innerJoin $ (\i -> _pickF i fs pat) <$> pi
     |       ^^
[16 of 22] Compiling Sound.Tidal.ParseBP ( src/Sound/Tidal/ParseBP.hs, dist/build/Sound/Tidal/ParseBP.o )

src/Sound/Tidal/ParseBP.hs:398:24: error:
    • No instance for (Control.Monad.Fail.MonadFail
                         (Text.Parsec.Prim.ParsecT String () Identity))
        arising from a use of ‘readColourName’
    • In the first argument of ‘(<?>)’, namely ‘readColourName name’
      In a stmt of a 'do' block:
        colour <- readColourName name <?> "known colour"
      In the expression:
        do name <- many1 letter <?> "colour name"
           colour <- readColourName name <?> "known colour"
           return $ TPat_Atom colour
    |
398 |              colour <- readColourName name <?> "known colour"
    |                        ^^^^^^^^^^^^^^^^^^^
cabal: Leaving directory '/var/folders/mp/btf42wkx2395w882w_0rrdgm0000gn/T/cabal-tmp-2721/tidal-1.0.13'
cabal: Error: some packages failed to install:
tidal-1.0.13-8CYq8UmFXum90FTrVZ8FlS failed during the building phase. The
exception was:
ExitFailure 1
Could not install tidal!
Checking if tidal atom package is installed..
✓ └── tidalcycles@3.0.0

Checking if SuperDirt quark is installed..
✓ /Users/Jonatan/Library/Application Support/SuperCollider/downloaded-quarks/SuperDirt
Sorry, all packages could not be installed
Tidal cabal package could not be installed
Visit: http://tidalcycles.org/getting_started.html and install them using the instructions found there
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

I have this problem installing Tidal, tried all ways possible but i end up with the same error evertime. Failed to install tidal-1.0.13. Anyone that has any idea?

Hi @Joooonatan, can you share the output of running this command in a terminal window please:

ghc-pkg list

Sure!

Jonatans-MBP:~ Jonatan$ ghc-pkg list
/Library/Frameworks/GHC.framework/Versions/8.2.1-x86_64/usr/lib/ghc-8.2.1/package.conf.d
    Cabal-2.0.0.2
    GLURaw-2.0.0.3
    GLUT-2.7.0.12
    HTTP-4000.3.7
    HUnit-1.6.0.0
    ObjectName-1.1.0.1
    OpenGL-3.0.2.0
    OpenGLRaw-3.2.5.0
    QuickCheck-2.10.0.1
    StateVar-1.1.0.4
    array-0.5.2.0
    async-2.1.1.1
    attoparsec-0.13.2.0
    base-4.10.0.0
    binary-0.8.5.1
    bytestring-0.10.8.2
    call-stack-0.1.0
    case-insensitive-1.2.0.10
    containers-0.5.10.2
    deepseq-1.4.3.0
    directory-1.3.0.2
    fgl-5.6.0.0
    filepath-1.4.1.2
    fixed-0.2.1.1
    ghc-8.2.1
    ghc-boot-8.2.1
    ghc-boot-th-8.2.1
    ghc-compact-0.1.0.0
    ghc-prim-0.5.1.0
    ghci-8.2.1
    half-0.2.2.3
    hashable-1.2.6.1
    haskeline-0.7.4.0
    haskell-src-1.0.2.0
    hoopl-3.10.2.2
    hpc-0.6.0.3
    hscolour-1.24.1
    html-1.0.1.2
    integer-gmp-1.0.1.0
    integer-logarithms-1.0.2
    mtl-2.2.1
    network-2.6.3.2
    network-uri-2.6.1.0
    parallel-3.2.1.1
    parsec-3.1.11
    pretty-1.1.3.3
    primitive-0.6.2.0
    process-1.6.1.0
    random-1.1
    regex-base-0.93.2
    regex-compat-0.95.1
    regex-posix-0.95.2
    rts-1.0
    scientific-0.3.5.1
    split-0.2.3.2
    stm-2.4.4.1
    syb-0.7
    template-haskell-2.12.0.0
    terminfo-0.4.1.0
    text-1.2.2.2
    tf-random-0.5
    time-1.8.0.2
    transformers-0.5.2.0
    unix-2.7.2.2
    unordered-containers-0.2.8.0
    vector-0.12.0.1
    xhtml-3000.2.2
    zlib-0.6.1.2
/Users/Jonatan/.ghc/x86_64-darwin-8.2.1/package.conf.d
    base-orphans-0.8.1
    bifunctors-5.5.4
    blaze-builder-0.4.1.0
    cabal-doctest-1.0.6
    clock-0.7.2
    colour-2.3.5
    comonad-5.0.5
    data-binary-ieee754-0.4.4
    data-default-class-0.1.2.0
    distributive-0.6
    hosc-0.17
    math-functions-0.3.1.0
    mwc-random-0.14.0.0
    semigroups-0.18.5
    tagged-0.8.6
    th-abstraction-0.3.1.0
    transformers-compat-0.6.5
    vector-th-unbox-0.2.1.6

Thanks, next could you try these commands in a terminal window:

git clone https://github.com/tidalcycles/tidal
cd tidal
cabal install

(that tries to install the upcoming version of tidal, which will hopefully resolve the dependency problem you seem to be having)

Tried but it looks to me as i end up with the same error again.

   Jonatans-MBP:tidal Jonatan$ git clone https://github.com/tidalcycles/tidal
    Cloning into 'tidal'...
    remote: Enumerating objects: 110, done.
    remote: Counting objects: 100% (110/110), done.
    remote: Compressing objects: 100% (50/50), done.
    remote: Total 8955 (delta 45), reused 100 (delta 40), pack-reused 8845
    Receiving objects: 100% (8955/8955), 6.44 MiB | 2.82 MiB/s, done.
    Resolving deltas: 100% (4903/4903), done.
    Jonatans-MBP:tidal Jonatan$ cd tidal
    Jonatans-MBP:tidal Jonatan$ ls
    BootTidal.hs		Setup.hs		test
    CHANGELOG.md		cabal.project		tidal.cabal
    CODE_OF_CONDUCT.md	old			tidal.el
    CONTRIBUTING.md		pd			vis
    LICENSE			src
    README.md		stack.yaml
    Jonatans-MBP:tidal Jonatan$ cabal install
    Resolving dependencies...
    Configuring tidal-1.0.13...
    Building tidal-1.0.13...
    Failed to install tidal-1.0.13
    Build log ( /Users/Jonatan/.cabal/logs/ghc-8.2.1/tidal-1.0.13-8CYq8UmFXum90FTrVZ8FlS.log ):
    cabal: Entering directory '.'
    Configuring tidal-1.0.13...
    Preprocessing library for tidal-1.0.13..
    Building library for tidal-1.0.13..
    [ 1 of 22] Compiling Sound.Tidal.Bjorklund ( src/Sound/Tidal/Bjorklund.hs, dist/build/Sound/Tidal/Bjorklund.o )
    [ 2 of 22] Compiling Sound.Tidal.Config ( src/Sound/Tidal/Config.hs, dist/build/Sound/Tidal/Config.o )
    [ 3 of 22] Compiling Sound.Tidal.MiniTidal.Token ( src/Sound/Tidal/MiniTidal/Token.hs, dist/build/Sound/Tidal/MiniTidal/Token.o )

    src/Sound/Tidal/MiniTidal/Token.hs:4:1: warning: [-Wunused-imports]
        The import of ‘parserZero’
        from module ‘Text.Parsec.Prim’ is redundant
      |
    4 | import           Text.Parsec.Prim (ParsecT,parserZero)
      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    [ 4 of 22] Compiling Sound.Tidal.MiniTidal.TH ( src/Sound/Tidal/MiniTidal/TH.hs, dist/build/Sound/Tidal/MiniTidal/TH.o )
    [ 5 of 22] Compiling Sound.Tidal.Pattern ( src/Sound/Tidal/Pattern.hs, dist/build/Sound/Tidal/Pattern.o )
    [ 6 of 22] Compiling Sound.Tidal.Core ( src/Sound/Tidal/Core.hs, dist/build/Sound/Tidal/Core.o )
    [ 7 of 22] Compiling Sound.Tidal.Chords ( src/Sound/Tidal/Chords.hs, dist/build/Sound/Tidal/Chords.o )
    [ 8 of 22] Compiling Sound.Tidal.Tempo ( src/Sound/Tidal/Tempo.hs, dist/build/Sound/Tidal/Tempo.o )
    [ 9 of 22] Compiling Sound.Tidal.Stream ( src/Sound/Tidal/Stream.hs, dist/build/Sound/Tidal/Stream.o )
    [10 of 22] Compiling Sound.Tidal.EspGrid ( src/Sound/Tidal/EspGrid.hs, dist/build/Sound/Tidal/EspGrid.o )
    [11 of 22] Compiling Sound.Tidal.Carabiner ( src/Sound/Tidal/Carabiner.hs, dist/build/Sound/Tidal/Carabiner.o )

    src/Sound/Tidal/Carabiner.hs:6:1: warning: [-Wunused-imports]
        The import of ‘threadDelay’
        from module ‘Control.Concurrent’ is redundant
      |
    6 | import Control.Concurrent (forkIO, threadDelay, takeMVar, putMVar)
      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    src/Sound/Tidal/Carabiner.hs:15:1: warning: [-Wmissing-signatures]
        Top-level binding with no type signature: port :: Integer
       |
    15 | port = 17000
       | ^^^^

    src/Sound/Tidal/Carabiner.hs:15:8: warning: [-Wtype-defaults]
        • Defaulting the following constraint to type ‘Integer’
            Num p0 arising from the literal ‘17000’
        • In the expression: 17000
          In an equation for ‘port’: port = 17000
       |
    15 | port = 17000
       |        ^^^^^

    src/Sound/Tidal/Carabiner.hs:23:31: warning: [-Wname-shadowing]
        This binding for ‘port’ shadows the existing binding
          defined at src/Sound/Tidal/Carabiner.hs:15:1
       |
    23 | client tidal bpc latency host port = withSocketsDo $
       |                               ^^^^

    src/Sound/Tidal/Carabiner.hs:45:12: warning: [-Wname-shadowing]
        This binding for ‘start’ shadows the existing binding
          imported from ‘Sound.Tidal.Tempo’ at src/Sound/Tidal/Carabiner.hs:8:1-24
          (and originally defined at src/Sound/Tidal/Tempo.hs:34:21-25)
       |
    45 |   = do let start = (lookup ":start" pairs >>= readMaybe) :: Maybe Integer
       |            ^^^^^

    src/Sound/Tidal/Carabiner.hs:55:14: warning: [-Wunused-local-binds]
        Defined but not used: ‘cyc’
       |
    55 |              cyc = toRational $ (fromJust beat) / (fromIntegral bpc)
       |              ^^^

    src/Sound/Tidal/Carabiner.hs:65:23: warning: [-Wunused-do-bind]
        A do-notation statement discarded a result of type ‘Int’
        Suppress this warning by saying ‘_ <- send sock $ B8.pack msg’
       |
    65 | sendMsg sock msg = do send sock $ B8.pack msg
       |                       ^^^^^^^^^^^^^^^^^^^^^^^
    [12 of 22] Compiling Sound.Tidal.Utils ( src/Sound/Tidal/Utils.hs, dist/build/Sound/Tidal/Utils.o )
    [13 of 22] Compiling Sound.Tidal.Scales ( src/Sound/Tidal/Scales.hs, dist/build/Sound/Tidal/Scales.o )
    [14 of 22] Compiling Sound.Tidal.Params ( src/Sound/Tidal/Params.hs, dist/build/Sound/Tidal/Params.o )
    [15 of 22] Compiling Sound.Tidal.UI   ( src/Sound/Tidal/UI.hs, dist/build/Sound/Tidal/UI.o )

    src/Sound/Tidal/UI.hs:31:1: warning: [-Wmissing-signatures]
        Top-level binding with no type signature:
          timeToSeed :: (Real p,
                         primitive-0.6.2.0:Control.Monad.Primitive.PrimMonad m) =>
                        p
                        -> m (Gen (primitive-0.6.2.0:Control.Monad.Primitive.PrimState m))
       |
    31 | timeToSeed x = do
       | ^^^^^^^^^^

    src/Sound/Tidal/UI.hs:1608:7: warning: [-Wname-shadowing]
        This binding for ‘pi’ shadows the existing binding
          imported from ‘Prelude’ at src/Sound/Tidal/UI.hs:5:1-44
          (and originally defined in ‘GHC.Float’)
         |
    1608 | pickF pi fs pat = innerJoin $ (\i -> _pickF i fs pat) <$> pi
         |       ^^
    [16 of 22] Compiling Sound.Tidal.ParseBP ( src/Sound/Tidal/ParseBP.hs, dist/build/Sound/Tidal/ParseBP.o )

    src/Sound/Tidal/ParseBP.hs:401:24: error:
        • No instance for (Control.Monad.Fail.MonadFail
                             (Text.Parsec.Prim.ParsecT String () Identity))
            arising from a use of ‘readColourName’
        • In the first argument of ‘(<?>)’, namely ‘readColourName name’
          In a stmt of a 'do' block:
            colour <- readColourName name <?> "known colour"
          In the expression:
            do name <- many1 letter <?> "colour name"
               colour <- readColourName name <?> "known colour"
               return $ TPat_Atom colour
        |
    401 |              colour <- readColourName name <?> "known colour"
        |                        ^^^^^^^^^^^^^^^^^^^
    cabal: Leaving directory '.'
    cabal: Error: some packages failed to install:
    tidal-1.0.13-8CYq8UmFXum90FTrVZ8FlS failed during the building phase. The
    exception was:
    ExitFailure 1
    Jonatans-MBP:tidal Jonatan$

Hmm, try

cabal install transformers parsec
cabal install tidal

New error. Failed to install:

Jonatans-MBP:tidal Jonatan$ cabal install transformers parsec

Resolving dependencies...

Downloading parsec-3.1.13.0...

Failed to install parsec-3.1.13.0

Build log ( /Users/Jonatan/.cabal/logs/ghc-8.2.1/parsec-3.1.13.0-6whVVB8dfpT4cPl0JcyJ02.log ):

/Users/Jonatan/.cabal/logs/ghc-8.2.1/parsec-3.1.13.0-6whVVB8dfpT4cPl0JcyJ02.log: openFile: does not exist (No such file or directory)Jonatans-MBP:tidal Jonatan$

Thanks you so much for helping me out :slight_smile:

Hm, not sure what’s wrong there :confused:

Try this alternative way to install:

stack install tidal

If that succeeds, you’ll have to tell the atom plugin to use the tidal installed with stack. In atom, find the settings for the tidalcycles package, and set the ghci path setting to stack ghci. Then, restart atom and all should be well.

Still no luck :confused:

Jonatans-MBP:~ Jonatan$ stack install tidal
Downloaded lts-13.26 build plan.    
AesonException "Error in $.packages.cassava.constraints.flags['bytestring--lt-0_10_4']: Invalid flag name: \"bytestring--lt-0_10_4\""
Jonatans-MBP:~ Jonatan$