summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <daniel@mariadb.org>2021-08-25 16:53:39 +1000
committerDaniel Black <daniel@mariadb.org>2021-08-25 17:14:06 +1000
commit70147436bdc8889d422c2ac09b9464f1ca397c75 (patch)
treecff5468f8d4c7f6a0283058ff886b29d52fdd5ca
parentece30d47ca939944cdbb5bd2c12193c3c750fd01 (diff)
downloadmariadb-git-bb-10.2-danielblack-rocksdb-on-arm64-osx-broken.tar.gz
rocksdb: disable on arm64 except for Linuxbb-10.2-danielblack-rocksdb-on-arm64-osx-broken
Thanks to Theodore Brockman on Zulip for noticing on an OSX ARM64. Per https://github.com/google/cpu_features/pull/150/files CMAKE_SYSTEM_PROCESSOR is arm64 on Apple. Without this, compulation error: [ 80%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/util/crc32c.cc.o /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:500:18: error: use of undeclared identifier 'isSSE42' has_fast_crc = isSSE42(); ^ /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:1230:7: error: use of undeclared identifier 'isSSE42' if (isSSE42()) { ^ /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:1231:9: error: use of undeclared identifier 'isPCLMULQDQ' if (isPCLMULQDQ()) { ^ This can be reverted when the RocksDB submodule is updated. https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc
-rw-r--r--storage/rocksdb/CMakeLists.txt9
1 files changed, 9 insertions, 0 deletions
diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt
index e2b0d9df547..1db314b93db 100644
--- a/storage/rocksdb/CMakeLists.txt
+++ b/storage/rocksdb/CMakeLists.txt
@@ -44,6 +44,15 @@ IF (WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
SKIP_ROCKSDB_PLUGIN("32-Bit Windows are temporarily disabled")
ENDIF()
+#
+# Also, disable on ARM64 when not Linux
+# Requires submodule update to v6.16.3
+# containing commit https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc
+#
+IF(CMAKE_SYSTEM_PROCESSOR MATCHES "(arm64|aarch64)" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ SKIP_ROCKSDB_PLUGIN("ARM64 disabled on all except Linux")
+ENDIF()
+
# This plugin needs recent C++ compilers (it is using C++11 features)
# Skip build for the old compilers
SET(CXX11_FLAGS)