Can't open plugins in AudioPluginHost

Hi all. Trying to get debugging set up. I’ve compiled and run the AudioPluginHost, and compiled a default test plugin, but when scanning for new plugins, I get the message “Note that the following files appeared to be plugin files, but failed to load correctly: plugin_name.so”

The plugin loads into Reaper just fine. I’m on Ubuntu 18.04, using v5.4.7 of the Projucer.

I’m not 100% sure, but it looks like this person solved the problem by just downloading a different version of JUCE?

Would that be worth trying?

This person had a similar issue on OSX:

And they fixed it by changing the “OSX Deployment Target”, but I don’t see a corresponding setting for linux builds.

I can’t find the thread where I read this, but someone suggested it could be a 32/64 bit issue, and that compiling the plugins or the AudioPluginHost for a different architecture could solve the issue, but I can compile neither the plugin nor host in 32 bit. Changing the architecture to 32-bit in the projucer, saving the project, and reloading the project into CodeBlocks, and then clicking compile either results in “fatal error: bits/c++config.h: No such file or directory” for the plugin, or for the host, the following errors:

||=== Build: App | Debug in AudioPluginHost (compiler: GNU GCC Compiler) ===|
ld||cannot find Scrt1.o: No such file or directory|
ld||cannot find crti.o: No such file or directory|
ld||cannot find -lasound|
ld||cannot find -lX11|
ld||cannot find -lXinerama|
ld||cannot find -lXext|
ld||cannot find -lfreetype|
ld||cannot find -lcurl|
ld||cannot find -lrt|
ld||cannot find -ldl|
ld||cannot find -lpthread|
ld||cannot find -lGL|
ld||cannot find -lstdc++|
ld||cannot find -lm|
ld||cannot find -lgcc|
||error: ld returned 1 exit status|
||=== Build failed: 16 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Any idea what I should try to get these plugins to load? Thanks very much for any help!

You can try the juce6 preview branch. I think that’s the only one with Linux VST support currently.

I’m using the AudioPluginHost on Ubuntu 20.04 (PopOS), but build with CMake.

Thanks very much for the response!

I think that’s the only one with Linux VST support currently.

The first thread I linked seems to have been resolved with OP on Linux and being able to build plugins that do load into the AudioPluginHost. Do you know if something changed since then that make it so that JUCE6 is the only way to go now? (I do have the VST2_SDK, if that makes a difference.)

I cloned the JUCE6 branch, but I’m afraid the readme file is mostly gibberish to me =/

It says:

To build the examples and extras bundled with JUCE, simply clone JUCE and then run:

```

But “```” just brings up a caret-thing (">") next to which I can type.

It also says:

Configure build with all examples and extras enabled

cmake -B cmake-build -DJUCE_BUILD_EXAMPLES=ON -DJUCE_BUILD_EXTRAS=ON

But when running that command I get

CMake Error: The source directory “/home/john/JUCE/cmake-build” does not exist.
Specify --help for usage, or press the help button on the CMake GUI.

Is this just because I don’t really know what’s going on with CMAKE? Are there any good resources where I can pick up what I need to know?

Thanks again for any help!

JUCE 6 requires CMake 3.12 minimum, but the -B argument of CMake is properly supported only starting from CMake 3.13 (https://cmake.org/cmake/help/v3.13/release/3.13.html#command-line).

However, you don’t have to use CMake to use the juce6 branch. You can build AudioPluginHost directly, its Makefile is in extras/AudioPluginHost/Builds/LinuxMakefile/.

Thanks McMartin. I just built the JUCE6 AudioPluginHost using the makefile. It was still unable to load the plugins, giving me the same error. Just to be sure, I built the JUCE6 Projucer, opened the plugin project’s projucer file there, saved the project, and rebuilt the project in CodeBlocks, no change: the host gives the same error.

Note that the following files appeared to be plugin files, but failed to load correctly: plugin_name.so

In case this was a VST2 vs VST3 problem, I tried checking the VST3 box in Plugin Formats in the Projucer. (I’m still not sure what about JUCE6 is supposed to make this more likely to work, but maybe it’s VST3 support?) I noticed that, after saving the project in the Projucer, CodeBlocks didn’t ask if I wanted to reload the file. (Like it usually does when something is changed.) So I unchecked all plugin formats except for VST3, saved the project, and then, when building in CodeBlocks, I get the error:

#error “You need to enable at least one plugin format!”

So, is VST3 still not available on Linux? Should the option to check the box be disabled in that case?

And if so, what could still be going wrong here with loading the plugins into the AudioPluginHost? I would REALLY like to have the debugging options available, since I’m already a noob and could use every bit of help I can get =(

Thanks very much for any help, as usual.

VST3 support on Linux is one of the main new features of JUCE 6:

Which exact Git commit of JUCE are you using?

Thanks, and sorry, that’s something I probably could have just looked up myself. Great to hear that VST3 should work on Linux with JUCE6 though! And I’m guessing that that’s why it was suggested by tobanteAudio? I did have the VST2_SDK all set up, but I’m happy to continue figuring out VST3 if it’s possible that that will resolve the issue.

Which exact Git commit of JUCE are you using?

I’m not 100% sure this is what you’re looking for, but:

git show-branch

gives me

[juce6] Projucer:  Add all format-specific plug-in files in juce_audio_plugin_client to correct targets in Visual Studio

and gitk brings up a bunch of info, including:

Author: ed <eddavies95@gmail.com>  2020-05-22 11:44:30
Committer: ed <eddavies95@gmail.com>  2020-05-22 12:36:07
Parent: b57509c4a21bafa54341a085ef48683cf16039e5 (Removed some cross-module relative includes)
Child:  0000000000000000000000000000000000000000 (Local uncommitted changes, not checked in to index)
Branches: juce6, remotes/origin/juce6
Follows: 5.4.7
Precedes:

The issue is that the CodeBlocks exporter of Projucer doesn’t know that building VST3 plugins is supported on Linux.

That commit only adapted the Linux Makefile exporter:

@ed95 FYI

Switching to the Makefile did it, thanks so much! I’m able to compile VST3s and load them into the AudioPluginHost. Looking forward to being able to use DBG! xD

1 Like

Building VST3 plug-ins using the Code::Blocks exporter isn’t supported (on Windows or Linux).