Has anyone had success getting sc3-plugins to build and install on Linux?
I’m able to build them and make install works but for some reason SC just isn’t seeing them.
Always getting the “UGen ‘SawDPW’ not installed.” type errors for any sc3-plugins UGens.
Maybe I’m missing something. I tried to set the MAKE_INSTALL_PREFIX to a few different options (/usr/local, ~/.local/) and it, indeed, places files correctly in there but no luck.
On my Ubuntu system, plug-ins go into /usr/local/lib/SuperCollider/plugins, e.g.:
/usr/local/lib/SuperCollider/plugins/StkInst.so
The server should be looking in this location by default. It’s probably not looking in other locations by default (except maybe the user extension directory? I forget). So if the .so files are being installed somewhere else, the server wouldn’t find them.
If you have to use a nonstandard location, you can also set s.options.ugenPluginsPath – but in this case, the server would load plug-ins only from the given locations, not the default ones. So you would have to include the default locations in the value. That is, it’s easier just to install sc3-plugins into the normal place.
Are you sure it’s getting all the files? You said it “places files” under CMAKE_INSTALL_PREFIX – this should include .sc class library files, .schelp documentation and.so binary libraries. But these are in different locations. I have /usr/local and I get:
.sc e.g. /usr/local/share/SuperCollider/Extensions/SC3plugins/StkInst/classes/StkInst.sc
.schelp e.g. /usr/local/share/SuperCollider/Extensions/SC3plugins/**packagename**/HelpSource/Classes/Stk.schelp
.so e.g. /usr/local/lib/SuperCollider/plugins/StkInst.so
So, if you’re looking under /usr/local/share/SuperCollider/Extensions/SC3plugins only, you wouldn’t be verifying whether the binaries are installed.
hi! I’m currently dealing with what seems to be a related-but-distinct problem with sc3 plugins and Linux. When I boot the server, I get the following error message:
*** ERROR: Could not iterate on directory '/usr/share/SuperCollider/Extensions/sc3-plugins-3.13.0-Linux-x64': Permission denied
exception in GraphDef_Load: UGen 'SawDPW' not installed.
I’ve poked around the file system, and this filepath is where the .so files are stored for sc3 plugins. The .sc and .schelp files are in my user support directory, which seems right. Since the error pertains to Permission, I double checked that my user account is in the sudoers group (it is) and even tried running sudo sclang in a terminal window, though this didn’t work at all, for reasons I don’t really understand. Anyone have any idea what I might be doing wrong and how to fix it? I’m able to get sound out of SuperCollider with the setup as-is but unable to utilize sc3 plugins, it seems. It was interesting, to me, to note that the error I was getting was the same as @scazan, pertaining to SawDPW. I think, in my case, that’s just because SawDPW was the first sc3 ugen that appeared in the script I was trying to run
thanks for getting back on this! I managed to use chmod to give myself rwx privileges on the relevant folder, and it does seem to have changed things. Unfortunately, now the server won’t boot at all. Instead, it throws a bunch of duplicate class errors along the lines of
ERROR: duplicate Class found: 'LPF18'
/usr/share/SuperCollider/Extensions/sc3-plugins-3.13.0-Linux-x64/share/SuperCollider/Extensions/SC3plugins/BerlachUGens/classes/BFilters.sc
/home/williamthazard/.local/share/SuperCollider/Extensions/SC3plugins/BerlachUGens/classes/BFilters.sc
This made me think that I’d accidentally duplicated the SC3Plugins folder in both my user support directory and the other extensions folder, so I deleted the one in my user support directory (I’m the only user on this machine, so it doesn’t make a big difference one way or another). But then I got a different error:
*** ERROR: dlopen '/usr/share/SuperCollider/Extensions/sc3-plugins-3.13.0-Linux-x64/lib/SuperCollider/plugins/HOABeamHCardio2Mono3.so' err '/usr/share/SuperCollider/Extensions/sc3-plugins-3.13.0-Linux-x64/lib/SuperCollider/plugins/HOABeamHCardio2Mono3.so: cannot open shared object file: No such file or directory'
unfortunately, now, the server won’t boot either way. Any idea how I might ameliorate this situation?
Deleting the duplicate installation was the right call, I think.
I’m not sure why the server doesn’t boot when unable to load the plugin. To backtrack, try removing the sc3-plugins altogether and check if it boots… then re-add plugins in groups and see which one breaks booting?