On 5/2/20 2:18 PM, Tom Lane wrote:
> TalGloz <glozmantal@gmail.com> writes:
>> I dont understand why the output for Postgres 12
>> g++ -Wall -Wpointer-arith -Wendif-labels -Wmissing-format-attribute
>> -Wformat-security -fno-strict-aliasing -fwrapv -O2 -o seal_diff_cpp.o -c
>> seal_diff_cpp.cpp
>> seal_diff_cpp.cpp:2:10: fatal error: postgres.h: No such file or directory
>> 2 | #include "postgres.h"
>> | ^~~~~~~~~~~~
>
>> looks different form the ones of Postgres 10
>
> Looking at your Makefile, it seems to be expecting that CXXFLAGS will
> be honored in the build, and it isn't being.
>
> As far as I can see from pgxs.mk, you're supposed to spell that
> PG_CXXFLAGS. Probably, it accidentally worked to do it the other
> way in v10, but no longer does, likely as a result of the fact that
> there's now some minimal amount of C++ code in core PG.
I was looking at that and was trying to figure out this from pgxs.mk:
# PG_CXXFLAGS -- will be appended to CXXFLAGS
...
ifdef PG_CXXFLAGS
override CXXFLAGS := $(CXXFLAGS) $(PG_CXXFLAGS)
Was wondering if this might be culprit(from example in pgxs.mk):
# include $(PGXS)
The OP does not have that in their make file.
>
> I'm a little dubious about whether overriding CXX is a good idea now, too.
> (Likely the core setting is the same, but if it were pointing at a
> different compiler that could cause trouble.)
>
> regards, tom lane
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com