On 3/2/18 19:29, Andres Freund wrote:
>> Using my standard set of CC=gcc-7 and CXX=g++-7, the build fails with
>>
>> g++-7: error: unrecognized command line option '-stdlib=libc++'
> It's actually already filtered, I just added -std*, because of selecting
> the c++ standard, I guess I need to filter more aggressively. This is
> fairly fairly annoying.
I see you already filter llvm-config --cflags by picking only -I and -D.
Why not do the same for --cxxflags? Any other options that we need
like -f* should be discovered using the normal
does-the-compiler-support-this-option tests.
>> It seems that it was intended that way anyway, since llvmjit.h contains
>> its own provisions for extern C.
>
> Hrmpf, yea, I broke that the third time now. I'm actually inclined to
> add an appropriate #ifdef ... #error so it's not repeated, what do you
> think?
Not sure. Why not just move the line and not move it again? ;-)
> Does putting an
> override COMPILER = $(CXX) $(CFLAGS)
>
> into src/backend/jit/llvm/Makefile work? It does force the use of CXX
> for all important platforms if I see it correctly. Verified that it
> works on linux.
Your latest HEAD builds out of the box for me now using the system compiler.
>> configure didn't find any of the LLVMOrc* symbols it was looking for.
>> Is that a problem? They seem to be for some debugging support.
>
> That's not a problem, except that the symbols won't be registered with
> the debugger, which is a bit annoying for backtraces. I tried to have
> configure throw errors in cases llvm is too old or such.
Where does one get those then? I have LLVM 5.0.1. Is there something
even newer?
> Hm, I'll switch them on in the development branch. Independent of the
> final decision that's definitely the right thing for now. The "full
> capability" of the patchset is used if you turn on these three GUCs:
>
> -c jit_expressions=1
> -c jit_tuple_deforming=1
> -c jit_perform_inlining=1
The last one doesn't seem to exist anymore.
If I turn on either of the first two, then make installcheck fails. See
attached diff.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services