How can I upgrade to the latest version in Debian

Hi! I installed SP 2.10 on Debian with “apt-get” but it tells me that 3.0.1 is available. However, I can’t find the 3.0.1 package or sc in the SP page or anywhere. Where can I get it? Is it available for Debian?

PD: I need it to comunicate via OSC and MIDI, I understand that it is not possible on 2.10 but maybe I don’t have to upgrade.

Thanks in advance!

Hey man!

Unfortunately there’s no Debian release — see this issue for some information about that. However, if you’re willing to compile from source, there is a process for doing so on Debian-based distributions. I don’t know how comfortable you are doing that sort of thing, but this was my process on Ubuntu:

$ mkdir ~/wherever/you/want/it/to/go && cd "$_"
$ git clone
$ git reset --hard 06b9586
$ cd sonic-pi/app/gui/qt/
$ ./build-ubuntu-app

The git reset --hard 06b9586 part is important because that commit is the last time that this worked without messing with other dependencies (see this issue for more information). Assuming this compiles correctly, you then would have to add the app/gui/qt directory to your $PATH to be able to launch Sonic Pi. The headless server resides at app/server/bin/sonic-pi-server.rb.

Let me know if you have questions — I know that can be a bit overwhelming if you’re unfamiliar (apologies if you’re actually super comfortable, I just want to try and help you get this to work). I’m interested if that works since I’m starting work on packaging 3.0.1 for Ubuntu and hearing from a Debian user would be great.

1 Like

Great. I was thinking that surely I’ll have to compile it myself but didn’t find the source. I’ll have to go now, I’ll try tomorrow and let you know if it works or not. Should I remove the previous version before?

Sounds great! When you execute $ git reset --hard 06b9586 that will change the state of the files on your drive to that revision — nothing else is necessary and the files aren’t duplicated (so there’s no other version you need to remove). Git allows you to go back and forth within the revision history which is all locally stored (when you cloned the repository) but unlike some other version control systems there aren’t multiple duplicates taking up space.

If you want to move to a different commit, you can use $ git log --oneline which will show you the commit history and a summary of each commit, and then $ git reset --hard <commit #> will change your local working directory to that commit. (Just keep in mind that if you edit some of the local files, the --hard option will wipe those changes, so there’s the potential for data loss.) If you’re new to Git, this StackOverflow answer and the Visual Guide to Git can be helpful resources for understanding what’s going on here.

Well, I did compile it but something went wrong I think… The version is not 3 but 2.9. Anyway, osc and midi communication are implemented just in v3? I can’t find any of it in the documentation or the functions (in some thread I read “use_osc” but that doesn’t exist in 2.9). :_( Surely I’m doing something wrong…

Did it successfully compile or exit with some error? If there was an error, what was it? If you have an old version of Sonic Pi installed from the PPA (latest version 2.10.0) then it’s possible that when you execute $ sonic-pi that it’s finding and running the older version first. You can try executing the compiled version directly:

$ cd ~/wherever-you-installed-sonic-pi/app/gui/qt/
$ ./sonic-pi`

or by adding that directory to your $PATH in .bashrc. If you want to keep multiple versions installed make sure that the location of whichever you want to run by default comes earlier in the $PATH.