Based on the below change, updated for erlang 21: From 85a3e5b4f65e5284e59dcdd90e92ea7d50ef6907 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Sun, 8 Feb 2015 17:23:13 +0100 Subject: [PATCH] erts/emulator: reorder inclued headers paths If the Perl Compatible Regular Expressions is installed on the host and the path to the headers is added to the CFLAGS, the pcre.h from the host is used instead of the one provided by erlang. Erlang use an old version of this file which is incompatible with the upstream one. Move INCLUDES before CFLAGS to use pcre.h from erlang. http://autobuild.buildroot.net/results/cbd/cbd8b54eef535f19d7d400fd269af1b3571d6143/build-end.log Signed-off-by: Romain Naour --- erts/emulator/Makefile.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -u -r ../otp-OTP-21.0.1/erts/emulator/Makefile.in ./erts/emulator/Makefile.in --- ../otp-OTP-21.0.1/erts/emulator/Makefile.in 2018-06-25 13:19:47.000000000 +0200 +++ ./erts/emulator/Makefile.in 2018-07-01 18:06:51.931989663 +0200 @@ -712,7 +712,7 @@ # Usually the same as the default rule, but certain platforms (e.g. win32) mix # different compilers $(OBJDIR)/beam_emu.o: beam/beam_emu.c - $(V_EMU_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@ + $(V_EMU_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@ $(OBJDIR)/beam_emu.S: beam/beam_emu.c $(V_EMU_CC) -S -fverbose-asm $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@ @@ -765,7 +765,7 @@ # General targets # $(OBJDIR)/%.o: beam/%.c - $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@ + $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@ $(OBJDIR)/%.o: $(TARGET)/%.c $(V_CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@