[Bug 261976] databases/postgresql14-server: disallow devel/llvm14 for now
Date: Tue, 15 Feb 2022 20:43:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261976 Bug ID: 261976 Summary: databases/postgresql14-server: disallow devel/llvm14 for now Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: dim@FreeBSD.org CC: brooks@FreeBSD.org, pgsql@FreeBSD.org CC: brooks@FreeBSD.org, pgsql@FreeBSD.org During an exp-run for llvm 14 (see bug 261742), it turned out that databases/postgresql14-server and the other slaved postgresql-server ports fail to build when the base system compiler is clang 14 (note this is from the i386 exp-run, after devel/llvm14 was introduced: ... g++10 -Wall -Wpointer-arith -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc10 -nostdinc++ -isystem /usr/include/c++/v1 -Wl,-rpath=/usr/local/lib/gcc10 -std=c++14 -fPIC -DPIC -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/usr/local/llvm14/include -I../../../../src/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -c -o llvmjit_error.o llvmjit_error.cpp llvmjit_error.cpp:28:13: error: 'new_handler' in namespace 'std' does not name a type 28 | static std::new_handler old_new_handler = NULL; | ^~~~~~~~~~~ llvmjit_error.cpp:32:64: error: 'string' in namespace 'std' does not name a type 32 | static void fatal_llvm_new_handler(void *user_data, const std::string& reason, bool gen_crash_diag); | ^~~~~~ llvmjit_error.cpp:25:1: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'? 24 | #include "jit/llvmjit.h" +++ |+#include <string> 25 | llvmjit_error.cpp:34:66: error: 'string' in namespace 'std' does not name a type 34 | static void fatal_llvm_error_handler(void *user_data, const std::string& reason, bool gen_crash_diag); | ^~~~~~ llvmjit_error.cpp:34:61: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'? 34 | static void fatal_llvm_error_handler(void *user_data, const std::string& reason, bool gen_crash_diag); | ^~~ llvmjit_error.cpp: In function 'void llvm_enter_fatal_on_oom()': llvmjit_error.cpp:60:3: error: 'old_new_handler' was not declared in this scope 60 | old_new_handler = std::set_new_handler(fatal_system_new_handler); | ^~~~~~~~~~~~~~~ llvmjit_error.cpp:60:26: error: 'set_new_handler' is not a member of 'std' 60 | old_new_handler = std::set_new_handler(fatal_system_new_handler); | ^~~~~~~~~~~~~~~ llvmjit_error.cpp:62:41: error: invalid conversion from 'void (*)(void*, const int&, bool)' to 'llvm::fatal_error_handler_t' {aka 'void (*)(void*, const char*, bool)'} [-fpermissive] 62 | llvm::install_bad_alloc_error_handler(fatal_llvm_new_handler); | ^~~~~~~~~~~~~~~~~~~~~~ | | | void (*)(void*, const int&, bool) There seem to be a few changes in the LLVM C and C++ APIs, and until upstream postgresql adapts to these changes, I think it is necessary to specifically limit the PG_LLVM_VERSION to a maximum of 13. -- You are receiving this mail because: You are the assignee for the bug.