Silent fail when trying to upgrade to tidal 1.4.9

Everything seemed to run smoothly with the update from the Terminal but when I check my version with "tidal_version" Atom says 1.4.8.

I get this message when booting up in Atom:

Choose ghcup default path: /Users/Rain/.ghcup/bin
Ghci command: /Users/Rain/.ghcup/bin/ghci
Ghc-pkg command: /Users/Rain/.ghcup/bin/ghc-pkg
Load BootTidal.hs from /Users/Rain/.atom/packages/tidalcycles/lib/BootTidal.hs
Loaded package environment from /Users/Rain/.ghc/x86_64-darwin-8.8.3/environments/default
t> 
t>Listening for controls on 127.0.0.1:6010

Thanks.

Hm, that's strange. Just to check, you ran these three commands to upgrade?

. ~/.ghcup/env
cabal update
cabal install tidal --lib

yes exactly @yaxu - the terminal displayed:

MacBook-Pro-2018:~ Rain$ . ~/.ghcup/env
MacBook-Pro-2018:~ Rain$ cabal update    
Downloading the latest package list from hackage.haskell.org
To revert to previous state run:
cabal v2-update 'hackage.haskell.org,2020-04-19T20:52:48Z'
MacBook-Pro-2018:~ Rain$ cabal install
cabal: Invalid package ID: .
MacBook-Pro-2018:~ Rain$ cabal install tidal --lib
Resolving dependencies...    
Up to date

This was the second time I did it BTW. The first time I followed the video but that didn't work either. It seemed like it did but Atom still showed the older install.

Ben

PS: I just tried it on my desktop and the same thing happened.
Here's the terminal. The version in Atom still says 1.4.8.

iMacPro:~ Rain$ . ~/.ghcup/env
iMacPro:~ Rain$ ls
Applications		Gobbler			Rain
CAdebug.log		Google Drive		ScanApp.log
Continuata		Library			Sites
Creative Cloud Files	Maschine 2.log		Spitfire
Desktop			Movies			Synology
Documents		Music			cdpr7
Downloads		Pictures		extras
Dropbox			PlugSettings		iCloud Drive (Archive)
FScape			Public			isus
iMacPro:~ Rain$ cabal update
Downloading the latest package list from hackage.haskell.org
To revert to previous state run:
    cabal v2-update 'hackage.haskell.org,2020-04-13T17:11:52Z'
iMacPro:~ Rain$ cabal install tidal --lib
Resolving dependencies...
Up to date

Hi @yaxu.
Any further ideas on why I'm having trouble updating?

Hi @ben, thanks for the nudge.

I'm scratching my head with this one!

Because it's not really making sense, what I'd try myself is deleting all the installed haskell packages and trying to install the tidal library and its depenencies again from scratch.

You can try that with the following sequence of commands, but please take care, especially with the rm command which will delete the .ghc and .cabal folders in your home folder. It should be fine pasted as-is, but with a misplaced space, it could be dangerous. You might prefer to delete those folders using your file browser instead - but folders beginning with a . are generally treated as 'hidden' system folders, so that might not be straightforward.

rm -rf ~/.ghc ~/.cabal
. ~/.ghcup/env
cabal update
cabal install tidal --lib
2 Likes

You can view and manipulate hidden folders graphically on the mac. Open a Finder window on your home folder and do shift-command-period, you'll see all the hidden files and folders. Repeat the same keystroke to hide them again.

3 Likes

That did it!
Thanks @yaxu and @tedthetrumpet

PS: I know that this is off topic, but I've taken this as an opportunity to try to learn more about Terminal commands. The one that is stumping me is the first period in . ~/.ghcup/env
I learned that the period is for hidden folders, but the .ghcup already has a period so I'm confused about what that first one is for. Anyone have an idea?

@ben sorry that one's beyond me! I found a humorous article saying that there were 23 different uses of the . in unix, and gave up!

1 Like

haha... thanks for trying!

In this case it's a synonym for source which takes that file and runs it (more or less) as if you had typed it into your terminal line by line (which is slightly different than how scripts normally run). This lets the env script do things like change your PATH environment variable for the current terminal's session. The PATH is how your shell (probably zsh in your case) knows where to find programs like cabal. And environment management tools like ghcup work by installing stuff in non-standard places and then fiddling PATH to include or exclude those places so they can make groups of executables appear and disappear on command. In this case . ~/.ghcup/env is the command that makes the group of executables (and probably some other configuration stuff as well) that ghcup considers it's default environment appear.

I don't know if that's clear or helpful but you said you wanted to learn more about terminal stuff...

1 Like

Wow. No wonder I couldn't figure it out on my own ha.
Really helpful thank you!

It takes some getting used to. But it's super fun! (for some definition of fun)

1 Like

Hi,

I made the command to update Tidal but I'm still on 1.4.3 on atom after I Reboot it.

I try to launch again the commande but it's telling me that it's up to date

"
PS C:\WINDOWS\system32> cabal update
Downloading the latest package list from hackage.haskell.org
To revert to previous state run:
cabal v2-update 'hackage.haskell.org,2020-04-22T20:17:42Z'
PS C:\WINDOWS\system32> cabal install tidal --lib
Resolving dependencies...
Up to date

"

I'm also getting what appears to be an upgrade successful message (even telling me I'm now on 1.4.9 in the Terminal) but still showing 1.4.8 when I check the version... Will try the advice given to Ben

(I'm a little behind y'all as I started this late, hello)

Hmm.. It does seem that there's something wrong with the new cabal installer functionality.

You could try using the old one instead. When you start tidal you'll get a "Loaded package environment from ..." message. You can delete that file, then do

cabal v1-update
caval v1-install tidal

To install using the 'good old' version of cabal.

What a load of hassle. We do really need a drag-and-drop installer for tidal!!

1 Like

Okay, it worked, thanks.

1 Like

Followed the previous instructions to troubleshoot and it's now working fine! Thank you!

(still trying to catch up!)

1 Like

Phew, glad I read this thread as I ran into the double-file thing mentioned above.

Does anybody have any tips on cleaning up the Haskell file mess on OSX? I seem to have at least two, possibly three versions concurrently. Most recent is 8.6.5 and would kind of like to update to the latest.

For the record, I had to do these steps to get tidal 1.4.9:

rm -rf ~/.ghc ~/.cabal
. ~/.ghcup/env
cabal update
cabal install tidal --lib

When I only did the normal last two lines:

cabal update
cabal install tidal --lib

I'd be stuck at 1.4.8 (and ended up with the Ambiguous module name error)

3 Likes

Hi! I have a question. I've been trying to update TidalCycles following your steps but it seems that the last version is 1.4.3, so I can't use the draw function. The update seems to work perfectly but for me the last version is 1.4.3, not 1.4.9. Am I'm doing something wrong?

Thanks a lot