I recently bought a new laptop, and partitioned the hard drive with Win 10 on one half, and Ubuntu Studio 20.10 on the other. The idea is to be able to more thoroughly test SC stuff on all three supported platforms.
Hey Eli.
I love all of your videos.
You are the best!
I get this message a lot. Usually it’s because my input and output device are not the same. I do a lot of swapping of soundcards and Jack here to there. I switch my settings to one device for both input and output and then recompile the class library.
Hope this helps. I have no idea tho. I am not great at troubleshooting Ubuntu.
At least I got a chance to thank you for your amazing videos which I love.
Thanks for the reply and kind words. Glad to be able to give something back to the SC community.
AFAICT the audio I/O devices are not the issue. I’m not launching scsynth or even attempting to. I’m just trying to run sclang inside of the sc-ide. Nonetheless, I’ve started the JACK server, and set ubuntu to use it for playback and recording. The problem is the same, though—there’s some issue with launching the interpreter and/or compiling the class library, but I can’t seem to track it down.
To me this seems like the interpreter is not finding SCClassLibrary. Did you “make install” after building SC? Is the class library present where it’s supposed to be (wherever that is on linux)?
I’m a little fuzzy how paths are handled on different platforms…
Thank you Marcin! That was my problem. I did not run sudo make install. I incorrectly interpreted these two commands:
$ make
$ sudo make install
as synonyms for the same thing (thinking one was for root users, the other for non-root users). Now I see that make and install are two different calls that must be made in sequence. Just to be sure, I did a clean re-install of ubuntu studio 20.10 and re-built SC from source, and now everything seems to be working — the library compiles successfully, the interpreter is working, and the server boots & makes sound!
Thanks again, your help is very much appreciated!
Eli
Fyi (and anyone else reading), ‘make’ runs the default (first) command in the Makefile. It is usually the part that compiles the software. The make install command usually copies those binary files to /usr/bin and other places, hence requiring root. That is why the class files couldn’t be found. When you ran sclang in the console did you have to navigate to the folder first? You shouldn’t any more, just type sclang, because the binaries should be in the global /usr/bin, one of the terminals default search paths. The other consequence of this is you should never run ‘sudo make’ as the files maked will all be root.
Thanks Jordan, this makes a lot of sense. I did have to navigate to the enclosing folder before attempting to run sclang from the console. I think I see now where my misunderstandings occurred. Many thanks to you, the other folks on scsynth who answer questions like this, and all the devs who so expertly maintain the SC platform. Cheers!