Projucer on linux. File libcurl.pc not found on system


Hello everybody:
Down to the point: Just in the case of someone trying to compile or run Projucer on Linux (at least on a Debian distro) and finding that the file “libcurl.pc” is not found, I got to a solution by installing the package libcurl4-openssl-dev from repos, and after that it just compiled and ran smoothly. Later, I launched the Projucer and opened a couple of the demos. To compile and build one has just to click on “save project” and the Projucer will write the makefile (as “Makefile”) in the directory /Builds/LinuxMakeFile. The excecutable will be placed in the directory /Builds/LinuxMakeFile/build, created upon compilation.
I am a starter in JUCE, and I have just a few hours in C++ programming. I am delighted with this framework by now. Thanks to everyone sharing knowledge.



There are more dependencies than just libcurl. See this page.


@fabian - ive been meaning to ask for some time now if one of the admins could remove the word “ubuntu” from the title of that sticky post - there is no need to be so specific - the package names will most likely be the same on any debian-based distro - by some measures ubuntu is not even the most popular anymore - right now distrowatch actually has mint at # 1 - debian at # 2 - and ubuntu at # 3

if the topic were general to any *nix i could even add the RPM and arch dependencies

or maybe just start a new sticky thread seeing as the list in the OP was over 5 years ago and the current list is pretty far down now


OK I’ve changed the title of the forum post.


this has been bugging me too because i have never needed to add libcurl as a dependency before so i investigated and i think i got to the root of the issue

the actual usage of libcurl in JUCE is governed by the JUCE_USE_CURL #define - this is written into JuceLibraryCode/AppConfig.h upon project save in ProjectSaver->writeAppConfig() with its value according to the state of the “JUCE_USE_CURL” GUI select option on the juce_core module panel on the jucer - this setting is enabled in the Projucer project but is “default” in all other user-created projects - “default” presumably means fall-back to the definition in modules/juce_core/juce_core.h which is #ifndef JUCE_USE_CURL #define JUCE_USE_CURL 0

so it is true that neither libcurl*-dev package nor any libcurl binary package are needed to compile a JUCE program unless the “JUCE_USE_CURL” GUI select option is explicitly enabled in Projucer - so i am removing libcurl from the pkg-config check conditionally based on this GUI selection without issue - if anyone is interested see here -->

a minor detail but it does avoid adding the extra dependencies for this library unless it is actually used