Interpreter has quit. [Exit code: 0] Ubuntu Studio 20.10

Hi all,

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.

Windows has not given me any trouble, but I’m a bit stuck on the Linux side. AFAICT, I was able to successfully build SC and the SC3-plugins from source using the instructions here: Installing SuperCollider from source on Ubuntu · supercollider/supercollider Wiki · GitHub

I’m able to open the SC IDE, but the post window displays:
Interpreter has quit. [Error code: 0]

I can’t boot the interpreter using the Language drop-down menu (the same message is re-posted). Help files do not load, and I can’t evaluate code.

This looks to be similar to problems described in these two threads:

My sclang_conf.yaml file looks like this:
includePaths:

excludePaths:

postInlineWarnings: false
excludeDefaultPaths: false

When I run sclang at the console using gdb, I get this:
Starting program: /home/eli/Documents/supercollider/build/lang/sclang
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1”.
[New Thread 0x7fffe3505640 (LWP 19698)]
[New Thread 0x7fffe2d04640 (LWP 19699)]
compiling class library…
[New Thread 0x7fffe1a98640 (LWP 19700)]
[New Thread 0x7fffdbfff640 (LWP 19701)]
[New Thread 0x7fffd9ec5640 (LWP 19702)]
[New Thread 0x7fffd96c4640 (LWP 19703)]
[New Thread 0x7fffd8ec3640 (LWP 19704)]
[New Thread 0x7fffcf05b640 (LWP 19705)]
[New Thread 0x7fffcd9a8640 (LWP 19706)]
[Detaching after fork from child process 19707]
[Detaching after fork from child process 19708]
[New Thread 0x7fffcd1a7640 (LWP 19711)]
[New Thread 0x7fffcc9a6640 (LWP 19712)]
[New Thread 0x7fffaffff640 (LWP 19713)]
[New Thread 0x7fffaf7fe640 (LWP 19714)]
[New Thread 0x7fffaeffd640 (LWP 19715)]
[New Thread 0x7fffae7fc640 (LWP 19716)]
[New Thread 0x7fffad7fa640 (LWP 19718)]
[New Thread 0x7fffadffb640 (LWP 19717)]
[New Thread 0x7ffface0e640 (LWP 19719)]
[New Thread 0x7fff937fe640 (LWP 19721)]
[New Thread 0x7fff93fff640 (LWP 19720)]
[New Thread 0x7fff92ffd640 (LWP 19722)]
[New Thread 0x7fff927fc640 (LWP 19723)]
Found 866 primitives.
ERROR: There is a discrepancy.
numClassDeps 0 gNumClasses 82
[New Thread 0x7fff91ffb640 (LWP 19724)]
sc3>

I’m pretty much tapped out of ideas, and not sure what to try next. If anyone can help, I’d really appreciate it.

Eli

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.

Hi Eli,

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…

Marcin

1 Like

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

2 Likes

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.

Love your videos!
J

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!

Eli