Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18770 )
Change subject: KUDU-3374 Add support for M1 and macOS Monterey ...................................................................... KUDU-3374 Add support for M1 and macOS Monterey The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu with LLVM 9 on Apple silicon is not really feasible. There has been multiple non-merged patches submitted to tackle these issues: Upgrade glog to 0.6.0 [1] Fix codegen build on MacOS Monterey [2] Fix building on Apple M1 [3] Upgrade to LLVM 11 and IWYU 0.15 [4] This patch squashes all of the above and provides the necessary glue changes. LLVM is updated to version 11 and glog to version 0.6.0 to fix the initial build issues. Building the glog tests has to be turned off as it causes linker error in TSAN build. The optional ZLIB dependency in LLVM-IWYU is removed as the original issue -mentioned in the comments- has been resolved, and this caused build issues on Unix. [5] The homebrew prefix is changed from /usr/local to /opt/homebrew on ARM macs. In places where package locations are provided, an ARM alternative location has been added. Added a patch [6] to fix null pointer dereference in rapidjson. Added another patch [7] containing assertions to a similar suppress clang warnings in rapidjson. Building tests in glog has to be turned off [8] as it causes linker error in tsan build. With the clang upgrade it now links against libatomic in TSAN builds. In dist-test.py libatomic is added to the list of shipped libraries as it was missing on the target machines. A couple of new TSAN races came up with LLVM regexes, added those to the sanitizer suppression list. [1] Change-Id: https://gerrit.cloudera.org/#/c/18460/ [2] Change-Id: https://gerrit.cloudera.org/#/c/18461/ [3] Change-Id: https://gerrit.cloudera.org/#/c/18464/ [4] Change-Id: https://gerrit.cloudera.org/#/c/16768/ [5] https://github.com/include-what-you-use/include-what-you-use/ issues/539 [6] https://github.com/Tencent/rapidjson/pull/727 [7] https://github.com/Tencent/rapidjson/pull/757 [8] https://github.com/google/glog/issues/54 Change-Id: I9877f95340b969308c317a6bac50665ff78e329e Reviewed-on: http://gerrit.cloudera.org:8080/18770 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> --- M CMakeLists.txt M build-support/dist_test.py M build-support/iwyu/mappings/glog.imp M cmake_modules/FindKerberosPrograms.cmake M src/kudu/codegen/CMakeLists.txt M src/kudu/codegen/code_generator.cc M src/kudu/codegen/module_builder.cc M src/kudu/common/row_operations-test.cc M src/kudu/fs/dir_util-test.cc M src/kudu/gutil/atomicops-internals-macosx.h M src/kudu/gutil/dynamic_annotations.c M src/kudu/gutil/dynamic_annotations.h M src/kudu/ranger/ranger_client.cc M src/kudu/security/test/mini_kdc.cc M src/kudu/server/diagnostics_log.cc M src/kudu/server/pprof_path_handlers.cc M src/kudu/tablet/concurrent_btree.h M src/kudu/util/async_logger.cc M src/kudu/util/async_logger.h M src/kudu/util/debug-util.cc M src/kudu/util/debug/trace_logging.h M src/kudu/util/flags.cc M src/kudu/util/logging-test.cc M src/kudu/util/logging.cc M src/kudu/util/logging.h M src/kudu/util/logging_test_util.h M src/kudu/util/minidump.cc M src/kudu/util/rw_mutex-test.cc M src/kudu/util/sanitizer_options.cc M thirdparty/build-definitions.sh M thirdparty/build-thirdparty.sh M thirdparty/download-thirdparty.sh M thirdparty/package-llvm.sh D thirdparty/patches/glog-fix-symbolization.patch D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch D thirdparty/patches/glog-issue-54-dont-build-tests.patch A thirdparty/patches/glog-make-internals-visible.patch M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch D thirdparty/patches/llvm-iwyu-include-picker.patch D thirdparty/patches/llvm-iwyu-sized-deallocation.patch A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch M thirdparty/preflight.py M thirdparty/vars.sh 45 files changed, 291 insertions(+), 707 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/18770 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e Gerrit-Change-Number: 18770 Gerrit-PatchSet: 15 Gerrit-Owner: Marton Greber <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Attila Bukor <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Marton Greber <[email protected]> Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Zoltan Chovan <[email protected]>
