sonic-pi-net / sonic-pi

Code. Music. Live.
https://sonic-pi.net
Other
10.83k stars 922 forks source link

Running Sonic Pi on Debian Linux #165

Closed mbutz closed 10 years ago

mbutz commented 10 years ago

I tried to install and run Sonic Pi on my Linux Netbook (Lenovo X121e) with Debian Wheezy. Something seems to be wrong, but I have no idea what. I have posted the bash output and errors.log here: https://gist.github.com/mbutz/693e0776b1937a9f213b I would be very grateful if someone could come up with an idea what to do. If needed, I can provide additional information.

Martin

xavriley commented 10 years ago

Hi - have you followed the instructions here: https://github.com/samaaron/sonic-pi/blob/ff0b6f8396b0b3df7716454218622b2cb11da94b/INSTALL.md#generic-linux

You'll need to follow the generic linux instructions as they differ slightly from the Raspberry Pi ones.

The linux support isn't quite ironed out yet (something we're working on!) but we've definitely had reports of it working - don't give up!

mbutz commented 10 years ago

Hi Xavier, yes, I did follow the mentioned page. Installation seemed to be alright - as far as I can tell. Unfortunately something stops Sonic Pi from running and I have no idea what I could do. Maybe this can not be solved currently and I have to be patient. I managed to work with sonic-pi.el on my other notebook, which I like because I can work in Emacs. But as I have some traveling coming up, it would have been nice to have Sonic Pi also on my netbook which I will take with me.

(By the way: saw your and Sam's presentation SkillMatter/London yesterday and liked it a lot.)

Thank for the quick reaction Martin

xavriley commented 10 years ago

Thanks - glad you liked the presentation :)

As for the install, provided you've followed the instructions, the problem seems to be that scsynth is not in your PATH. Could you try

locate scsynth

and then

echo $PATH

and paste the results in here?

mbutz commented 10 years ago

Ok, Xavier that question did help a lot:

  1. I did not have Supercollider installed. I thought I had, because I have a working Overtone installation on this netbook. So I didn't check.
  2. Installed Supercollider

locate scsynth outputs now (deleted some entries e.g. scsynth.rb):

/home/marty/.m2/repository/overtone/scsynth
/usr/bin/scsynth
  1. Started rp-app-run, could see the splash screen of Sonic Pi
  2. Bash again says: Waiting for Server and furthermore
QMainWindow::saveState(): 'objectName' not set for QToolBar 0x1c82460 'Tools'
saving workspaces
Asking server process to exit...
Exiting...

errors.log is empty output.log says:

*** ERROR: open directory failed '/home/marty/share/SuperCollider/synthdefs'
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 44100.000000, driver's block size = 2048
SuperCollider 3 server ready..
JackDriver: max output latency 92.9 ms
Zeroconf: registered service 'SuperCollider'
exception in GrafDef_Load: UGen 'Decimator' not installed.
while reading file '/home/marty/bin/sonic-pi/etc/synthdefs/sonic-pi-fx_bitcrusher.scsyndef'
exception in GrafDef_Load: UGen 'Decimator' not installed.
while reading file '/home/marty/bin/sonic-pi/etc/synthdefs/sonic-pi-fx_replace_bitcrusher.scsyndef'
saving: workspace_one.spi
saving: workspace_two.spi
saving: workspace_three.spi
saving: workspace_four.spi
saving: workspace_five.spi
saving: workspace_six.spi
saving: workspace_seven.spi
saving: workspace_eight.spi
Exiting - shutting down scsynth server...

Why ist Sonic Pi looking in /home/marty/share/SuperCollider/synthdefs? I have a share folder in my /home-directory, but certainly no SuperCollider in it. Do I have to link to it?

xavriley commented 10 years ago

I think it's just the case that you're missing some UGens for SuperCollider. To get up and running I'd suggest installing the extra ugens here http://sourceforge.net/projects/sc3-plugins/files/

After that it would be good to resolve this and find out if we're depending on UGens that aren't available.

Also, which version of SuperCollider did you install?

mbutz commented 10 years ago

I have SC 3.4.5 installed via apt-get from the Debian repositories.

As to installing the UGens I am unsure. Which package should I take? I downloaded sc3-plugins-src-2012-05-26.tgz and also sc3.1-plugins.tar.gz (universal binaries) but the installation readme confuses me a bit. For the later package it says:

linux build instructions
------------------------
The sc3-plugins svn checkout is expect live inside the supercollider source tree.

The directory tree will look something like this:

    supercollider\     -   supercollider source tree
       build\
       headers\
       source\
       etc...
       sc3-plugins\    -   sc3-plugins source tree
       build\
       compat\
       lib\
       etc...
    stk-4.2.1\         -   the stklib
       stk lib stuff

building sc3-plugins
--------------------

$ cd supercollider/sc3-plugins
$ scons
$ ./distro_linux

where supercollider is the name of the supercollider source tree.

The compiled UGens, Classes and Helpfiles, will be placed into a new 'Extensions' directory in sc3-plugins. This can be moved or better yet, create a symlink to it from your extensions folder.

You can add a sub dir named 'test' inside this Extensions directory and move folders in there to disable a particular ugen pack.

For me it does look like instructions before building SC. Also I do have no idea what

$ cd supercollider/sc3-plugins
$ scons
$ ./distro_linux

is supposed to mean.

When I look at my SC installation it tells me, I have

SuperCollider: /usr/lib/SuperCollider /usr/share/SuperCollider

/lib/SuperCollider/ contains:

$ /usr/lib/SuperCollider/plugins$ ls
BinaryOpUGens.so  FilterUGens.so    MouseUGens.so             ReverbUGens.so
ChaosUGens.so     GendynUGens.so    MulAddUGens.so            TestUGens.so
DelayUGens.so     GrainUGens.so     NoiseUGens.so             TriggerUGens.so
DemandUGens.so    IOUGens.so        OscUGens.so               UnaryOpUGens.so
DiskIO_UGens.so   KeyboardUGens.so  PanUGens.so               UnpackFFTUGens.so
DynNoiseUGens.so  LFUGens.so        PhysicalModelingUGens.so
FFT_UGens.so      ML_UGens.so       PV_ThirdParty.so

Looks like if I have the UGens, doesn't it? Anyway, I have now clue how to install the package in the right place. If you can give some further help I'll be grateful, if not, I certainly do understand. Martin

mbutz commented 10 years ago

Hi again, I got sonic-pi.el to work. Which is 1. what I wanted and 2. tells me, Sonic Pi should work also with its own interface. Maybe you have another idea and it also helps other - but thanks very much for you help. I am satisfied;) Martin

mbutz commented 10 years ago

Googled a bit around, found some information about installing SuperCollider plugins and did some 'testing'. Seems I did the right thing, now I have another message, this time in errors.log:

more ~/.sonic-pi/log/errors.log 
/home/marty/bin/sonic-pi/app/server/core.rb:51:in `bind': Address already in use - b
ind(2) (Errno::EADDRINUSE)
    from /home/marty/bin/sonic-pi/app/server/core.rb:51:in `initialize'
    from /home/marty/bin/sonic-pi/app/gui/qt/../../server/bin/sonic-pi-server.rb
:33:in `new'
    from /home/marty/bin/sonic-pi/app/gui/qt/../../server/bin/sonic-pi-server.rb
:33:in `<main>'
xavriley commented 10 years ago

The address already in use just means that something is still running - in this case the OSC server inside sonic pi. You can either restart the machine or try finding and killing the running process.

In terms of the general issue here I think we have a conflict with one of the synth designs not being compatible with SC 3.4.5 which we'll get sorted out for the next release. Thanks!

samaaron commented 10 years ago

The conflict in the synth design is a warning not a bug. One of the synth design uses a supercollider ugen not included by default with supercollider (it's a so-called extra ugen). However that particular synth is not enabled in Sonic Pi, so there is no issue at all and the warning can be completely ignored.

mbutz commented 10 years ago

Thanks Xavier, thanks Aaron, I'll have a look at it during the next days. As Sonic Pi is running via sonic-pi.el [1] I currently do not need the GUI.

[1] May not everybody who can use it, know about it already: https://github.com/repl-electric/sonic-pi.el

omartek commented 9 years ago

hi guys, i'm omar simple problem, probably i haven't the folder "app/server/bin" (referring to the instructions here: https://github.com/samaaron/sonic-pi/blob/ff0b6f8396b0b3df7716454218622b2cb11da94b/INSTALL.md#generic-linux) why?

rbnpi commented 9 years ago

Omar. This is an old closed thread, so I'm not sure you'll get much response! You should have the relevant folder if you have installed the repository correctly in your linux machine. git clone https://github.com/samaaron/sonic-pi.git in your home directory and you will find a folder sonic-pi created there. (You will need to have git installed on your machine already) if you then cd sonic-pi you should find the folder app in there and sub folders server then bin inside that. If you still have problems I suggest you start a new issue rather than using this old closed one.

samaaron commented 9 years ago

@rbnpi There's typically nothing wrong with talking on a closed thread - especially if the comment is directly related to the thread title. Often it's useful to even re-open issues that have previously been considered to be solved.

@omartek In this case it might be wise to create a new more specific issue with your problem and perhaps go into a lot more detail about what the issue is so we can help you.

omartek commented 9 years ago

The simple problem was that i didn't cloned. Sorry i'm newbie.

rbnpi commented 9 years ago

Glad you sorted it. I remember being very lost when I first started using git. It gets easier!

Sent from my iPhone

On 25 May 2015, at 14:38, omartek notifications@github.com wrote:

The simple problem was that i didn't cloned. Sorry i'm newbie.

— Reply to this email directly or view it on GitHub.