I am using JUCE 6.0.1 to create a VST3 plugin on Debian. JUCE was installed from the provided .tar and not through the apt package. I am using the included VST3_SDK, and not using an external installation.
I am able to compile and run the example NoiseGate plugin in standalone mode just fine and dandy (after disabling the JUCE_WEB_BROWSER in the juce_gui_extra). However, when I try to load the .so VST into either Ardour or Reaper there seems to be an issue with loading it. I am assuming it segfaults on start but I have trouble getting proof. On Ardour I get the following message:
It also seems that I am not able to attach a debugger to the VST, as Ardour might do some sandboxing? I’m not quite sure. I’ve run Ardour under GDB and wasn’t able to see a stacktrace.
I’ve also fired up CLion and attempted to attach a debugger to the generated .so file, but that segfaults immediately. Can’t seem to time it with an Ardour plugin scan, which also makes things tricky.
I was wondering if anyone could provide tips to debug this further. Could this be related to disabling the JUCE_WEB_BROWSER flag?
Hi! I seem to have a similar problem and found this thread during my search. None of the example plugins are recognized by Reaper or Ardour. Also in my case, the standalone versions work without problems.
I use JUCE 6.1 and CLion under Linux Mint 20.2. The VST3 build works fine without errors. After that I put the so file into the .vst or the .vst3 folder, but none of them works. Are there any other files that need to be placed into those directories? How can I check whether my shared library is corrupt or not? The problem is that I don’t get any error messages along the way.
Did you put the ‘.so’ in your vst3 folder or did you copy the entire ‘myplugin.vst3’ directory bundle into your vst3 folder? vst3 is like a mac bundle or an lv2 - it is a directory not a file. so juce will make something that looks like ‘myplugin.vst3’ which contains ‘contents/x86_blah/something.so’. You need to copy the top level not the lower level to your plugin folder.
if (using cmake) you use COPY_PLUGIN_AFTER_BUILD the right thing will happen. When I set that and built surge on ubuntu20 I saw
Thanks a lot! That helped me discover an error I made. For some reason I still don’t fully understand, I used CLion incorrectly. The VST3 build did not create a .vst3 folder, but only a folder names VST3.dir. The cmake command I used was
However, when I build the plugin using the Linux Makefile, I get the desired .vst3 folder and everything works fine. I’m still figuring out how to get a working build result with cmake, though.
The CLion exporter of Projucer is deprecated. It doesn’t have all the features of the other exporters, as you’ve noticed. If you want to use CLion, please use the CMake API provided by JUCE, or FRUT, but don’t use the CLion exporter of Projucer.