List of Juce dependencies under linux

You need to set the backend to X11 instead of Wayland which is now the default, you can do this by typing export GDK_BACKEND=x11 or just GDK_BACKEND=x11 Projucer.

1 Like

Seems I have to add Library options -lrt -lm -latomic to build on Raspbian (Buster) these days

Can anyone please add an updated list (or a few) that are known to work on some distros (say, Ubuntu?)? I’m having a hard time navigating between different versions suggested at multiple places.

1 Like

On Ubuntu 16.04 and Ubuntu 18.04, for JUCE 5.4.7:

+-----------------------------+---------------------------------------------------------+
| JUCE module                 | Packages                                                |
+-----------------------------+---------------------------------------------------------+
| juce_audio_devices          | libasound2-dev                                          |
+-----------------------------+---------------------------------------------------------+
| juce_core                   | libcurl4-openssl-dev                                    |
| (unless JUCE_USE_CURL=0)    |                                                         |
+-----------------------------+---------------------------------------------------------+
| juce_graphics               | libx11-dev libxinerama-dev libxext-dev libfreetype6-dev |
+-----------------------------+---------------------------------------------------------+
| juce_gui_extra              | libwebkit2gtk-4.0-dev                                   |
| (unless JUCE_WEB_BROWSER=0) |                                                         |
+-----------------------------+---------------------------------------------------------+
| juce_opengl                 | libglu1-mesa-dev                                        |
+-----------------------------+---------------------------------------------------------+

The complete command:

sudo apt install libasound2-dev libcurl4-openssl-dev libx11-dev libxinerama-dev libxext-dev libfreetype6-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev

I hope this helps!

14 Likes

Thank you @McMartin, this is extremely useful!

Seems like at least in JUCE 6/CMake, to build plugins you also must have ladspa-sdk, even if you’re only building VST3/Standalone.

Hi everybody! Concerning ladspa, how can I add it? Because i’ve tried to download it and installed in usr/lib but CLion couldn’t find it. After that i’ve simply added ladspa.h to the same folder where the it’s included in juce_LANDSPAPluginFormat.cpp. Now i’ve got mistake:
/JUCE/extras/AudioPluginHost/Builds/CLion/../../../../modules/juce_core/native/juce_curl_Network.cpp:55: undefined reference to c url_easy_init
//…
collect2: error: ld returned 1 exit status
CMakeFiles/APP.dir/build.make:387: recipe for target ā€˜AudioPluginHost’ failed
make[3]: *** [AudioPluginHost] Error 1
CMakeFiles/Makefile2:75: recipe for target ā€˜CMakeFiles/APP.dir/all’ failed
make[2]: *** [CMakeFiles/APP.dir/all] Error 2
CMakeFiles/Makefile2:82: recipe for target ā€˜CMakeFiles/APP.dir/rule’ failed
make[1]: *** [CMakeFiles/APP.dir/rule] Error 2
Makefile:118: recipe for target ā€˜APP’ failed
make: *** [APP] Error 2

and a bunch of others ā€œundefined referenceā€. Maybe it’s a trivial problem, but i’m new in coding. Appreciate any help

Under Ubuntu

sudo apt install ladspa-sdk

does the trick for me (and for others, see the very first post in this thread).

Yeah, but how can i manage undefined references

It looks like the linker is failing to find the symbols for the curl library. Make sure you have a curl development library installed (sudo apt install libcurl4-openssl-dev).

I do have this library

I’m going back to this post every once in a while, and I always have to search for a few different comments to find all the missing dependencies.

Is it possible to pin a post with a single command that contains all of them?

@eyalamir doesn’t List of Juce dependencies under linux cover everything?

@McMartin Almost. :slight_smile:

It’s missing ladspa-sdk that’s needed for all plugin formats, and IIRC one other dependency I had to add.

Anyway, my point was to have one pinned post so that one won’t have to search the whole thread to find it every time…

AFAICS, ladspa-sdk is only needed if you enable JUCE_PLUGINHOST_LADSPA (which AudioPluginHost indeed does).

What is that other dependency? I would be happy to edit my comment or make a new one with updated information.

I just updated my JUCE version and seems like the ladspa-sdk dependency was removed from the VST targets. Can we please have a pinned version of your comment then that isn’t buried deep within a thread? :slight_smile:

3 Likes

Agreed. It’d be nice to have it documented somewhere in the repo, too. Could be a separate markdown file in the docs folder or similar.

1 Like
10 Likes

Great addition. Just a quick heads-up, the link from the main readme to the linux dependency document does not render correctly on GitHub, see this screenshot

By the way, I’m seeing the same under the CMake section

1 Like

Thanks for the heads up - looks like GitHub uses a different markdown renderer to GitLab where I’d tested it previously. It seems like the most supported way to do inline links to files with spaces in is to use percent encoding and replace the spaces with %20 so I’ve pushed that change to develop and it should be fixed shortly.