Hi Andres
Thanks for your reply.
The reason I was suspicious with the warnings of the gcc build was, because
gmake check reported 138 out of 202 tests to have failed. I have attached the
output of gmake check.
After you mentioned that gcc did not report any errors, just warnings, we
installed the build.
First, it seeemed to work and SELECT pg_jit_available(); showed
"pg_jit_available" as "t" but the DB showed strange behaviour. I.e. not always,
but sometimes running "show parallel_tuple_cost" caused postmaster to restart a
server process.
We had to back to the previous installation.
It seems there is definitievly something wrong with the result gcc created.
Best regards
Sacha
Von: Andres Freund
Datum: Donnerstag, 7. Dezember 2023 um 17:50
An: Sacha Hottinger
Cc: pgsql-hack...@postgresql.org
Betreff: Re: Building PosgresSQL with LLVM fails on Solaris 11.4
Hi,
On 2023-12-07 13:43:55 +, Sacha Hottinger wrote:
> Thanks a lot.
> It now got much further but failed here with Sun Studio:
> …
> gmake[2]: Leaving directory
> '/opt/cnd/opt28-2_13.3_gmake_all_llvm_fixV2/src/test/perl'
> gmake -C backend/jit/llvm all
> gmake[2]: Entering directory
> '/opt/cnd/opt28-2_13.3_gmake_all_llvm_fixV2/src/backend/jit/llvm'
> /opt/developerstudio12.6/bin/cc -m64 -xarch=native -Xa -v -O -KPIC
> -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
> -I/usr/include -I../../../../src/include-c -o llvmjit.o llvmjit.c
> "llvmjit.c", line 493: warning: argument #1 is incompatible with prototype:
> prototype: pointer to void :
> "../../../../src/include/jit/llvmjit_emit.h", line 27
> argument : pointer to function(pointer to struct
> FunctionCallInfoBaseData {pointer to struct FmgrInfo {..} flinfo, pointer to
> struct Node {..} context, pointer to struct Node {..} resultinfo, unsigned
> int fncollation, _Bool isnull, short nargs, array[-1] of struct NullableDatum
> {..} args}) returning unsigned long
> g++ -O -std=c++14 -KPIC -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS
> -D__STDC_CONSTANT_MACROS -I/usr/include -I../../../../src/include-c -o
> llvmjit_error.o llvmjit_error.cpp
> g++: error: unrecognized command-line option ‘-KPIC’; did you mean ‘-fPIC’?
> gmake[2]: *** [: llvmjit_error.o] Error 1
> gmake[2]: Leaving directory
> '/opt/cnd/opt28-2_13.3_gmake_all_llvm_fixV2/src/backend/jit/llvm'
> gmake[1]: *** [Makefile:42: all-backend/jit/llvm-recurse] Error 2
> gmake[1]: Leaving directory '/opt/cnd/opt28-2_13.3_gmake_all_llvm_fixV2/src'
> gmake: *** [GNUmakefile:11: all-src-recurse] Error 2
I don't know where the -KPIC is coming from. And TBH, I don't see much point
trying to fix a scenario involving matching sun studio C with g++.
> With ggc it fails at the same step as before.
> I have attached the log files of the SunStudio and gcc runs to the email.
I don't see a failure with gcc.
The warnings are emitted for every extension and compilation succeeds.
Greetings,
Andres Freund
This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed. If
you have received this email in error please notify the system manager.
gcc_gmake_check.log
Description: gcc_gmake_check.log