Building PosgresSQL with LLVM fails on Solaris 11.4

From: Sacha Hottinger <itdo(at)cndag(dot)onmicrosoft(dot)com>
To: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Building PosgresSQL with LLVM fails on Solaris 11.4
Date: 2023-12-01 17:02:25
Message-ID: AM5PR04MB3073AA04032F322896733761BB81A@AM5PR04MB3073.eurprd04.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all

Compiling PostgreSQL 13.13 with option –with-llvm fails with Developer Studio 12.6 as well as with gcc 13.2.0.
I have installed the developer/llvm/clang" + "developer/llvm/clang-build pkgs (13.0.1).

- It works without the llvm option
- I have also tried it with 16.1 – no success either

o With Developer Studio (psql 13.13):

# ./configure CC='/opt/developerstudio12.6/bin/cc -m64 -xarch=native' --enable-dtrace DTRACEFLAGS='-64' --with-system-tzdata=/usr/share/lib/zoneinfo --with-llvm

# gmake all
...
/opt/developerstudio12.6/bin/cc -m64 -xarch=native -Xa -v -O -I../../../src/include -c -o pg_shmem.o pg_shmem.c
gmake[3]: *** No rule to make target 'tas.bc', needed by 'objfiles.txt'. Stop.
gmake[3]: Leaving directory '/opt/cnd/opt24_13.13_gmake_all_llvm/src/backend/port'
gmake[2]: *** [common.mk:39: port-recursive] Error 2
gmake[2]: Leaving directory '/opt/cnd/opt24_13.13_gmake_all_llvm/src/backend'
gmake[1]: *** [Makefile:42: all-backend-recurse] Error 2
gmake[1]: Leaving directory '/opt/cnd/opt24_13.13_gmake_all_llvm/src'
gmake: *** [GNUmakefile:11: all-src-recurse] Error 2

o With gcc (psql 13.13):

#./configure CC='/usr/bin/gcc -m64' --with-system-tzdata=/usr/share/lib/zoneinfo --with-llvm

# time gmake all
...
-Wl,--as-needed -Wl,-R'/usr/local/pgsql/lib' -lLLVM-13
Undefined first referenced
symbol in file
TTSOpsHeapTuple llvmjit_deform.o
pfree llvmjit.o

MemoryContextAllocZero llvmjit.o
pkglib_path llvmjit.o
ExecEvalStepOp llvmjit_expr.o
errhidestmt llvmjit.o
ld: warning: symbol referencing errors
/usr/bin/clang -Wno-ignored-attributes -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -O2 -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS -I/usr/include -I../../../../src/include -flto=thin -emit-llvm -c -o llvmjit_types.bc llvmjit_types.c
gmake[2]: Leaving directory '/opt/cnd/opt25_13.13_gcc_gmak_all_llvm/src/backend/jit/llvm'
gmake[1]: Leaving directory '/opt/cnd/opt25_13.13_gcc_gmak_all_llvm/src'
gmake -C config all
gmake[1]: Entering directory '/opt/cnd/opt25_13.13_gcc_gmak_all_llvm/config'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/opt/cnd/opt25_13.13_gcc_gmak_all_llvm/config'

Kind regards
Sasha

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.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2023-12-01 17:12:19 Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*
Previous Message Tom Lane 2023-12-01 16:41:07 Re: Remove unnecessary includes of system headers in header files