Error when switching to Pulsar

Hi
I am using windows 11 with tidal and atom and it's all been good. I have just installed Pulsar and the tidalcycles extension but I keep getting this error when I try to run code. If I use atom it works fine still... any ideas on what I could do? here's the error:

BootTidal.hs:43:45: error:
Not in scope: Sound.Tidal.Transition.jumpMod'
No module named `Sound.Tidal.Transition' is imported.

I've just updated ghc and tidal and I'm still having the same (and some new) issue.

Check your version of ghci. From a powershell prompt you should be able to run:
ghci --version

For windows you need to be on 9.4.4. Also, the latest version 9.6.1 is not compatible with the tidal package. If you have 9.2.x that also is a problem.

If you do need to upgrade/downgrade, use ghcup commands as documented in the tidal user docs in the Manual Install section: Windows | Tidal Cycles

ghcup install ghc 9.4.4
ghcup install cabal 3.8.1.0
ghcup set ghc 9.4.4
ghcup set cabal 3.8.1.0

You would then also need to run the tidal install commands again:

cabal update
cabal v1-install tidal 

ok great thanks, I'll check that out. Until I upgraded the other day my tidal installation was about one year old - it's only because of atom that I switched. I'll try that in the morning and let you know how it goes

oh i have version 9.01 I'll update and let you know how that goes.

Hi

So I'm still having trouble - I updated according to the instructions and I'm getting the following errors that I don't know how to solve.

Choose ghc base path

no custom path configured
ghcup not found

  • using default GHC system path definition
    Ghci command: ghci
    Ghc-pkg command: ghc-pkg
    Choose BootTidal.hs path

no custom path configured
not found in current directory

  • found in the tidal installation folder
  • load BootTidal.hs from C:\Users\patte\AppData\Roaming\cabal\x86_64-windows-ghc-9.0.1\tidal-1.9.4\BootTidal.hs
    t> Loaded package environment from C:\Users\patte\AppData\Roaming\ghc\x86_64-mingw32-9.0.1\environments\default
    t> ghci>
    t> [TidalCycles version 1.7.8]
    Installed in C:\Users\patte\AppData\Roaming\cabal\store\ghc-9.0.1\tidal-1.7.8-3c195a2b5739a3a655c78ec1830946d55aa2455e\share
    Listening for external controls on 127.0.0.1:6010
    That port isn't available, perhaps another Tidal instance is already listening on that port?
    t> Can't handshake with SuperCollider without control port.

C:\Users\patte\AppData\Roaming\cabal\x86_64-windows-ghc-9.0.1\tidal-1.9.4\BootTidal.hs:43:45: error:
Not in scope: Sound.Tidal.Transition.jumpMod'
No module named Sound.Tidal.Transition' is imported. | 43 | jumpMod' i t p = transition tidal True (Sound.Tidal.Transition.jumpMod' t p) i | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ t> | | | t> t> * Variable not in scope: d2 :: ControlPattern -> t * Perhaps you meant dt' (imported from Sound.Tidal.Context)

OK. My bad. I should have advised you to remove your older user folders for ghc 9.0.1 before upgrading. You probably have both on your system now!

From the above, you can see that Pulsar is looking for your BootTidal.hs, and it found one in your ghc-9.0.1 Roaming directory. But then it actually loads Tidal 1.7.8 from your Roaming cabal directory. So that isn't going to work!

Remove any cabal and ghc directories in your user AppData\Roaming or AppData\Local

C:\Users\patte\AppData\Roaming\ghc\
C:\Users\patte\AppData\Roaming\cabal\
C:\Users\patte\AppData\Local\cabal\
C:\Users\patte\AppData\Local\ghc\

Then run the ghcup commands from above.

Oh awesome and thanks for the explanation about the error message. It really helps to understand. I'm not at that computer til later and then I'll give it a go.

Ok I've just tried that but I used chocolatey to install it the first time - so I think that changes things.
If i try ghcup it says that it doesn't know the command- Are they both just methods/software for installing things?

What I did >>>
deleted the folders in my user folder
used chocolatey to install but I get this warning in terminal
Warnings:

  • ghc - ghc v9.4.4 already installed.

I tried running code in pulsar with SC open
and I'm getting the following error in pulsar

Choose ghc base path
 > no custom path configured
 > ghcup not found
 * using default GHC system path definition
Ghci command: ghci
Ghc-pkg command: ghc-pkg
Choose BootTidal.hs path
 > no custom path configured
 > not found in current directory
 > cannot get tidal installation folder Error: Command failed: "ghc-pkg" field tidal data-dir
ghc-pkg: cannot find package tidal
 * use the default contained in the plugin
 * load BootTidal.hs from C:\Users\patte\.pulsar\packages\tidalcycles\lib\BootTidal.hs
t> 
t> ghci> | | |

I think this means it doesn't see the chocolatey install at all.

I don't really understand the whole path thing. gonna ask google in a min but thought it's worth documenting for others who get confused by this part of it.

I'm going to try and set the path to see the chocolatey version (is this what I should do?)
if that doesn't work I'll install ghcup and go through the commands above

Let me know any suggestions and if you (or anyone else) have time to explain the path or point to good things to read about it, I'd really appreciate it.

thanks

Sorry you are having these problems.
Regarding your questions about "Path". Don't get confused about the word "path" in the Pulsar output vs the system environment variable PATH, which is a list of directories the system will search for when you type a command from a CLI (PowerShell on Windows).

Pulsar has its own path settings which you can edit using the Pulsar Package Manager, and load the Tidal Cycles package settings. You can set the path for ghci and the path for Boot Tidal, among others. When you run a tidal pattern in Pulsar the first time, the tidal plugin first looks for which ghc it should load. If you haven't customized your ghc path, it will use the default - and it tells you this in those line you quote above. Then it looks for the BootTidal.hs path. If you didn't customize your BootTidal.hs path, it will look for it in the current directory, and if it fails, it will use a default version that comes with this package. So all of the lines above are OK, up to
Error: Command failed: "ghc-pkg" field tidal data-dir ghc-pkg: cannot find package tidal

This says that the plugin can't find your tidal package, but it looks to me like it does find your ghci. I don't think you should try anything else via choco at this point. If you have good versions of ghc and cabal, then you don't need choco. Try running these, which may resolve things.

cabal update
cabal v1-install tidal 

Your other question is about Chocolatey vs ghcup. Yes they are both different install methods. Ghcup is native to Haskell. Chocolatey is its own package management system. Its not really good to mix them, but Chocolatey is not really good at correcting install problems. Some users end up wiping out Chocolatey altogether and using ghcup to install a clean ghc/cabal environment and use cabal to install the tidal package. When you use Chocolatey, you don't need ghcup.

Ok Thanks for that
I tried to install but the tidal install gave me an error - I"ll paste it below
I think it might be worth wiping out chocolatey and doing a clean install. Although I am learning stuff from this at least :slight_smile:

I can see some guides on how to remove chocolatey and I've downloaded ghcup and I'll try for a clean install. Should I remove the user folders that I did at the start of this process - I think I just reinstalled them yeah?

Thanks again for your help

Error: cabal.exe: Some packages failed to install:
hosc-0.20-DifRyj0nHc2CCDWhgecxDj depends on hosc-0.20 which failed to install.
network-3.1.2.8-L7ahCvPnFKEBeuJEQ2C5M failed during the configure step. The
exception was:
ExitFailure 1
tidal-1.9.4-DUC4fTc59xz8BYtpP2IS1a depends on tidal-1.9.4 which failed to
install.

Every time you do an install of Haskell packages (or attempt a new install) with cabal commands, I would recommend to remove cabal and ghc directories from AppData\Roaming

For the errors you have now: the "hosc-0.20" error is unexpected. hosc is Haskell's OSC package. I haven't seen that fail before. It's possible that once the network package is resolved this will go away. The network-3.1.2.8 package failure has come up with other users. I have a win10 Virtual Machine and tried to upgrade my tidal packages, and I also had the network error. I was able to fix this by adding the following to my environment variables PATH value:

C:\tools\ghc-9.4.4\mingw\bin
C:\tools\msys64\usr\bin

But these paths are related to choco - so this won't help if you've wiped your choco installs and are switching to ghcup. So maybe try one more time if you still have your choco ghc/cabal?

If you aren't sure how to edit your environment variables, there any many guides online, here are a few:

If you are going to remove chocolatey altogether, below is a set of steps another windows Tidal user wrote up. But be careful - a full wipe of choco covers EVERYTHING choco installs - SuperCollider, SuperDirt, Haskell, s3plugins, etc. You would be starting from scratch. (Often that is a good thing anyway, but just be aware.)

If you follow those steps closely, one change I would make is that you don't need to specify the tidal version of 1.9.3. At one point we thought 1.9.4 was contributing to some problems, but that turned out to be wrong. 1.9.4 is fine.

Ok thanks. I haven't yet gotten rid of chocolatey. so I'll try the commands you suggest - It's on my studio computer so I've got to wait til I'm back there tonight.

Cheers

That fixed some things then I got a new error

tools\\ghc-9.0.1\\mingw\\lib\\gcc\\x86_64-w64-mingw32\\10.2.0\\libstdc++.dll.a": failed

Since that error - I realised I have two ghc folders and also I had some paths set in my user paths
I noticed that I had ghc 9.0 set in my user path and the ghc9.4 was in my system paths, so that probably caused errors early on.
I've tried various things and I'm still getting errors and don't remember everything I've done now.

This is my current error after a new ghc and tidal install with the paths corrected in case you are interested

Cannot browse tidal to obtain informations for autocomplete: Error: Command failed: echo ":browse Sound.Tidal.Context" | "ghci"
'"ghci"' is not recognized as an internal or external command,
operable program or batch file.

I think that over time I've not known what I have been doing enough to warrant a clean install so I'm going to go with that.

Thanks @HighHarmonics for your help, I have learned a lot. The path variable always stumped me a bit and I've just sort of danced around it for years.

A full clean install is often best. The instructions in the pastebin file above are good. One tip - when doing an involved install process - document each step you take - particularly once you get into troubleshooting mode. These can be really useful later when you can't remember all that you did (been there many times!).

But if you want to keep trying on what you have now, here is some input.

  • delete C:\tools\ghc-9.0.1
  • you should also have C:tools\msys64
  • via powershell, validate your versions:
ghci --version
cabal --version
cabal info tidal 

Another thing about PATH - the order matters. In my windows PATH I have two entries for GHC now: FIRST C:\tools\ghc-9.4.4\bin and after that C:\tools\ghc-9.4.4\mingw\bin. The first is the used by Pulsar to load the ghci executable. The second is needed only during package installs. The order here matters, and if you delete the first, thinking you only need the 2nd, ghci won't work.

The Pulsar error you are getting now shows that Pulsar can't load ghci. One option you have is to add an explicit GHCI path in the Tidal plugin in Pulsar.
Pulsar > Packages > Open Package Manager
Go to Packages tab
In Community Packages > tidalcycles

  • choose Settings
  • in Ghci Path add: c:\tools\ghc-9.4.4\bin
    Now run tidal commands - you may need to restart Pulsar if you get the same error.

Thanks! I have deleted it already and am starting from scratch. I'm right at the end and I'm getting errors on the tidal install. I'm tearing my hair out now. I'm supposed to go on tour in 2 weeks and I'm gonna have to rethink what I will do if I can't fix tidal soon

I think that when I installed git I chose the normal git way instead of the mingw way - i have no idea what that's about but the descriptions made me think I was making a smart choice. I don't think I did.

I'm getting an error that I need a unix compatibility tool chain. I googled and installed cygwin and updated the PATH but I'm still getting the same error. (I wish I'd gotten to see your explanation earlier.) should I put the cygwin path in the system or user one? it's currently in the system one
here are the errors I get in powershell


Failed to install network-3.1.2.8
Build log ( C:\cabal\logs\ghc-9.4.4\network-3.1.2.8-Ce2hM3UmQ1vtaBZQbwYuP.log ):
Configuring network-3.1.2.8...
Error: cabal-3.8.1.0.exe: The package has a './configure' script. If you are
on Windows, This requires a Unix compatibility toolchain such as MinGW+MSYS or
Cygwin. If you are not on Windows, ensure that an 'sh' command is discoverable
in your path.

cabal: Leaving directory 'C:\Users\me\AppData\Local\Temp\cabal-tmp-4312\network-3.1.2.8'
Downloaded   random-1.2.1.1
Starting     random-1.2.1.1
Building     random-1.2.1.1
Completed    random-1.2.1.1
Error: cabal-3.8.1.0.exe: Some packages failed to install:
hosc-0.20-4vdM1tMXuCfCNduvUqXIRT depends on hosc-0.20 which failed to install.
network-3.1.2.8-Ce2hM3UmQ1vtaBZQbwYuP failed during the configure step. The
exception was:
ExitFailure 1
tidal-1.9.3-1Xfi7b9ylopCYnaWWIhSrP depends on tidal-1.9.3 which failed to
install

ok so restarting powershell made it recognise the updated path... so it's just this final error. I'm fairly sure I have had this already or seen it so I'll read back and see if I can fix it. Putting this here for documentation.

Here is the updated error message since restarting powershell.

PS C:\Windows\System32> cabal v1-install tidal-1.9.3
Resolving dependencies...
Starting     network-3.1.2.8
Failed to install network-3.1.2.8
Build log ( C:\cabal\logs\ghc-9.4.4\network-3.1.2.8-Ce2hM3UmQ1vtaBZQbwYuP.log ):
Configuring network-3.1.2.8...
/usr/bin/sh: /C/Users/me/AppData/Local/Temp/cabal-tmp-5092/network-3.1.2.8/configure: No such file or directory
cabal: Leaving directory 'C:\Users\me\AppData\Local\Temp\cabal-tmp-5092\network-3.1.2.8'
Error: cabal-3.8.1.0.exe: Some packages failed to install:
hosc-0.20-4vdM1tMXuCfCNduvUqXIRT depends on hosc-0.20 which failed to install.
network-3.1.2.8-Ce2hM3UmQ1vtaBZQbwYuP failed during the configure step. The
exception was:
ExitFailure 127
tidal-1.9.3-1Xfi7b9ylopCYnaWWIhSrP depends on tidal-1.9.3 which failed to
install. 

This is the advice from earlier about that. When I look in my C drive I do not have a tools folder. What creates that folder. I thought I followed the instructions properly but I guess I missed something.

C:\tools\ is where choco installs. So if you removed chocolatey and are using ghcup now, then the PATH values for C:\tools is of no use.

The problem with network-3.1.2.8 on windows is coming up for a number of people.
Things you can try:

  1. Run the cabal commands again (it is possible the network package install will work when it failed previously)
  2. Try a variant of the cabal install command:
    cabal install --lib tidal-1.9.4 (I'm not sure if you should use the v1-install version, so you could try that too: cabal v1-install --lib tidal-1.9.4
  3. Add Path values that reflect where ghcup has mingw and msys64. You would need to figure this out. Then restart PS and run the cabal commands. Note that ghcup may not use the same folder name convention for ghc. So it may not be ghc-9.4.4
<path-to-ghc-9.4.4>\ghc-9.4.4\mingw\bin
<path-to-msys64>\msys64\usr\bin

Remember it is best each time you run the cabal commands to delete your local AppData\Roaming\ghc cabal. Also it is possible ghcup puts these in AppData\Local.

Also - you don't have to use tidal-1.9.3. We are on 1.9.4. The pastebin instructions specify 1.9.3 because at that time we (incorrectly) thought that 1.9.4 was causing problems.

I'll try to dig in more to find what the correct PATH values should be now.

Lastly - don't pull your hair out! You might end up needing a fresh install....

Here is more input.

First, it looks like you tried to resolve the network package error by installing cygwin. That may work, but using msys2 for the unix shell requirement is what other tidal users are doing - I don't have any knowledge of cygwin actually working and I haven't done any testing with it. So if you added cygwin to your path, I suggest removing that, or making sure it is last.

With ghcup, if you used the defaults, you would have these install locations.
C:\ghcup
C:\ghcup\msys64

So adding these as system PATH values should work to resolve the network package error.

C:\ghcup\ghc\9.4.4\mingw\bin
C:\ghcup\msys64\usr\bin

Then restart powershell, delete your <user>\AppData\Roaming\ghc and cabal directories and run the two cabal commands.

If errors persist, I suggest starting a new thread here - with a subject like: Windows tidal package install error using ghcup - urgent help needed. Then link back to this thread. Starting a new thread will hopefully get the attention of those who have deeper Haskell knowledge and better Windows experience.