BUG #15969: PG12 b3 with LLVM JIT can't load library llvmjit.so: unresolvd symbol llvm::fatal_error_handler - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15969: PG12 b3 with LLVM JIT can't load library llvmjit.so: unresolvd symbol llvm::fatal_error_handler
Date
Msg-id 15969-aced8b41fc355163@postgresql.org
Whole thread Raw
Responses Re: BUG #15969: PG12 b3 with LLVM JIT can't load library llvmjit.so:unresolvd symbol llvm::fatal_error_handler  (Andres Freund <andres@anarazel.de>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15969
Logged by:          Sylvie Empereur
Email address:      sylvie.empereur-mot@bull.net
PostgreSQL version: 12beta3
Operating system:   Linux RedHat 7.6
Description:

SW and HW Environment:
-    LINUX RedHat Entreprise 7.6   (ppc64le on Power9 processors)
-    GCC 4.8.5  (included in RHEL7.6)
-    make 3.8.2
-       LLVM8 and CLANG8
-    PostgreSQL 12 beta3 built with support for LLVM JIT based compilation 
-    Doc PostgreSQL (chap31 JIT Compilation) indicates script configure, to be
run with parameter LLVM_CONFIG.  
-       PG12 script configure requires parameter CLANG also.
configure --without-readline --with-llvm
LLVM_CONFIG='/home/postgres/clang+llvm-8.0.1-powerpc64le-linux-rhel-7.4/bin/llvm-config'
CLANG='/home/postgres/clang+llvm-8.0.1-powerpc64le-linux-rhel-7.4/bin/clang'
make clean
make -j40 world
make check

Error Symptom:   
-    make check  step, shows 26 identical failures from total of 193 autotests
:
ERROR:  could not load library
"/nvme/postgresql-12beta3/tmp_install/usr/local/pgsql/lib/llvmjit.so":
/nvme/postgresql-12beta3/tmp_install/usr/local/pgsql/lib/llvmjit.so:
undefined symbol: _ZNSt3_V214error_categoryD2Ev
-    The symbol C++ library  llvm::fatal_error_handler is defined in CLANG
library libclang.so
-    Symbol resolution shows up when the shared lib llvmjit.so tries to resolve
symbol llvm::fatal_error_handler, defined in the shared library
libclang.so
-    Symbol table entries in CLANG/LLVM library libclang.so
$ objdump –t
$HOME/clang+llvm-8.0.1-powerpc64le-linux-rhel-7.4/lib/libclang.so |grep -i
fatal_error_handler
/home/postgresql-12beta2/clang+llvm-8.0.1-powerpc64le-linux-rhel-7.4/lib/libclang.so:
 file format elf64-powerpcle
SYMBOL TABLE: 
00000000005ae150 l     F .text  0000000000000048   0x60
fatal_error_handler(void*, std::string const&, bool)
000000000220fe30 l     F .text  00000000000000cc   0x60
llvm::install_fatal_error_handler(void (*)(void*, std::string const&, bool),
void*)
The flag characters as follows:     "l"   =>    The symbol is a local (l)


pgsql-bugs by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: BUG #15967: Sequence generation using NEXTVAL() fails on 64bit systems
Next
From: Andres Freund
Date:
Subject: Re: BUG #15969: PG12 b3 with LLVM JIT can't load library llvmjit.so:unresolvd symbol llvm::fatal_error_handler