MacOS Bugs:
- The new Apple Clang 12.0.5 compiler has some additional on-by-default diagnostic errors that triggers on SWIG generated code.
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:1633:15: error: 'SwigPyObject_disown' was marked unused but was used [-Werror,-Wused-but-marked-unused]
{"disown", SwigPyObject_disown, METH_NOARGS, "releases ownership of the pointer"},
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:1634:15: error: 'SwigPyObject_acquire' was marked unused but was used [-Werror,-Wused-but-marked-unused]
{"acquire", SwigPyObject_acquire, METH_NOARGS, "acquires ownership of the pointer"},
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:1635:15: error: 'SwigPyObject_own' was marked unused but was used [-Werror,-Wused-but-marked-unused]
{"own", SwigPyObject_own, METH_VARARGS, "returns/sets ownership of the pointer"},
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:1636:15: error: 'SwigPyObject_append' was marked unused but was used [-Werror,-Wused-but-marked-unused]
{"append", SwigPyObject_append, METH_O, "appends another 'this' object"},
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:1637:15: error: 'SwigPyObject_next' was marked unused but was used [-Werror,-Wused-but-marked-unused]
{"next", SwigPyObject_next, METH_NOARGS, "returns the next 'this' object"},
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:1638:15: error: 'SwigPyObject_repr2' was marked unused but was used [-Werror,-Wused-but-marked-unused]
{"__repr__",SwigPyObject_repr2, METH_NOARGS, "returns object representation"},
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:2788:5: error: no previous prototype for function 'diagnostic_build' [-Werror,-Wmissing-prototypes]
int diagnostic_build() {
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:2788:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int diagnostic_build() {
^
static
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:2788:21: error: this old-style function definition is not preceded by a prototype [-Werror,-Wstrict-prototypes]
int diagnostic_build() {
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3159:13: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
*sizep = strlen(k);
~ ^~~~~~~~~
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3185:13: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
*sizep = strlen(k);
~ ^~~~~~~~~
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3250:64: error: unused parameter 'self' [-Werror,-Wunused-parameter]
SWIGINTERN int __wt_connection__freecb(struct __wt_connection *self){
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3377:96: error: unused parameter 'lock' [-Werror,-Wunused-parameter]
SWIGINTERN int __wt_file_handle__fh_map(struct __wt_file_handle *self,WT_SESSION *session,bool lock,void *mapped_regionp,size_t *lengthp,void *mapped_cookiep){
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3436:48: error: variable 'v' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
if (SWIG_IsOK(res) && val) *val = (size_t)(v);
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3434:20: note: initialize the variable 'v' to silence this warning
unsigned long v;
^
= 0
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3487:5: error: no previous prototype for function '_wiredtiger_calc_modify' [-Werror,-Wmissing-prototypes]
int _wiredtiger_calc_modify(WT_SESSION *session,
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3487:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int _wiredtiger_calc_modify(WT_SESSION *session,
^
static
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3495:5: error: no previous prototype for function '_wiredtiger_calc_modify_string' [-Werror,-Wmissing-prototypes]
int _wiredtiger_calc_modify_string(WT_SESSION *session,
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3495:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int _wiredtiger_calc_modify_string(WT_SESSION *session,
^
static
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3592:39: error: unused parameter 'handler' [-Werror,-Wunused-parameter]
pythonErrorCallback(WT_EVENT_HANDLER *handler, WT_SESSION *session, int err,
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3592:60: error: unused parameter 'session' [-Werror,-Wunused-parameter]
pythonErrorCallback(WT_EVENT_HANDLER *handler, WT_SESSION *session, int err,
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3592:73: error: unused parameter 'err' [-Werror,-Wunused-parameter]
pythonErrorCallback(WT_EVENT_HANDLER *handler, WT_SESSION *session, int err,
^
lang/python/CMakeFiles/_wiredtiger.dir/wiredtigerPYTHON_wrap.c:3599:41: error: unused parameter 'handler' [-Werror,-Wunused-parameter]
pythonMessageCallback(WT_EVENT_HANDLER *handler, WT_SESSION *session,
- test_big_endian() is returning an empty result on older CMake MacOS versions. Add the following patch to avoid passing an empty default:
diff --git a/build_cmake/configs/auto.cmake b/build_cmake/configs/auto.cmake
index 4f9aa657d..1df2578ed 100644
--- a/build_cmake/configs/auto.cmake
+++ b/build_cmake/configs/auto.cmake
@@ -284,6 +284,9 @@ config_compile(
include(TestBigEndian)
test_big_endian(is_big_endian)
+if(NOT is_big_endian)
+ set(is_big_endian FALSE)
+endif()
config_bool(
WORDS_BIGENDIAN
"If the target system is big endian"