Anything on Linux changed recently?

I just re-saved my .jucer file and now my project won’t build on Linux (Ubuntu 16.04)

I get the following error:

../../../../modules/juce/modules/juce_graphics/juce_graphics.cpp:98:24: fatal error: ft2build.h: No such file or directory
   #include <ft2build.h>
                        ^
compilation terminated.

ft2build.h is on my system. The Projucer still builds, but my project doesn’t. Very odd, any ideas?

Could you please build with V=1 make and share the compiler command-line?

Compiling include_juce_graphics.cpp
g++  -MMD -DLINUX=1 -DNDEBUG=1 -DSAMPLER_PLUGIN=1 -DJUCE_WOLFRAM=1 -DVST_FORCE_DEPRECATED=0 -DSTRUM=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=11.0.6 -DJUCE_APP_VERSION_HEX=0xb0006  -pthread -I../../../../modules/juce/modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules -I../../../../modules/juce/modules -I../../../../modules/tracktion_utilities/modules -I../../../../modules/tracktion_engine_dev/modules -I../../../../modules/plugins -I../../../common/Source/3rd_party/ -I../../../common/Source/3rd_party/VST3_SDK  -m64 -Os -std=gnu++14 -Wno-multichar -mno-sse4 -mno-sse4.1 -mno-sse4.2  -std=c++14  -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0  -o "build/intermediate/Release/include_juce_graphics_f817e147.o" -c "../../JuceLibraryCode/include_juce_graphics.cpp"
In file included from ../../JuceLibraryCode/include_juce_graphics.cpp:9:0:
../../../../modules/juce/modules/juce_graphics/juce_graphics.cpp:98:24: fatal error: ft2build.h: No such file or directory
   #include <ft2build.h>

Found the issue, I had some stuff in pkg-config libraries that wasn’t supposed to be there. Not sure what that has to do with finding headers?

Calling

$(shell pkg-config --cflags <libraries>)

returns compiler flags needed to use these libraries, including -I flags for finding headers.

If pkg-config fails because of “stuff […] that wasn’t supposed to be there”, then it will return an empty string and the compiler will be missing some important flags.