From c362b80958f7daa28da9ec871940fc6e87348f9c Mon Sep 17 00:00:00 2001 From: Tobias Kortkamp Date: Wed, 18 Mar 2020 12:04:51 +0000 Subject: [PATCH] Fix more fallout for bundled rocksdb after the LLVM 10 import In file included from rocksdb/utilities/backupable/backupable_db.cc:16: rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' std::lock_guard lk(lock_); ^ ~~~~~ /usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) ^ /usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; ^ /usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) ^ 1 error generated. net/ceph* will still not build because Clang crashes but at least it goes beyond the above error. --- ...tch-3rdParty_rocksdb_v5.6.X_util_channel.h | 28 +++++++++++++++++++ ...tch-3rdParty_rocksdb_v5.6.X_util_channel.h | 28 +++++++++++++++++++ ...db_cockroach_c-deps_rocksdb_util_channel.h | 28 +++++++++++++++++++ .../files/patch-src_rocksdb_util_channel.h | 28 +++++++++++++++++++ .../files/patch-src_rocksdb_util_channel.h | 28 +++++++++++++++++++ .../files/patch-src_rocksdb_util_channel.h | 28 +++++++++++++++++++ 6 files changed, 168 insertions(+) create mode 100644 databases/arangodb32/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h create mode 100644 databases/arangodb33/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h create mode 100644 databases/cockroach/files/patch-src_github.com_cockroachdb_cockroach_c-deps_rocksdb_util_channel.h create mode 100644 net/ceph12/files/patch-src_rocksdb_util_channel.h create mode 100644 net/ceph13/files/patch-src_rocksdb_util_channel.h create mode 100644 net/ceph14/files/patch-src_rocksdb_util_channel.h diff --git a/databases/arangodb32/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h b/databases/arangodb32/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h new file mode 100644 index 000000000000..332a42556ea4 --- /dev/null +++ b/databases/arangodb32/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h @@ -0,0 +1,28 @@ +In file included from rocksdb/utilities/backupable/backupable_db.cc:16: +rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' + std::lock_guard lk(lock_); + ^ ~~~~~ +/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier + explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) + ^ +/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument + lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; + ^ +/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided + lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) + ^ +1 error generated. + +https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964 + +--- 3rdParty/rocksdb/v5.6.X/util/channel.h.orig 2018-04-13 11:22:33 UTC ++++ 3rdParty/rocksdb/v5.6.X/util/channel.h +@@ -62,7 +62,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/databases/arangodb33/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h b/databases/arangodb33/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h new file mode 100644 index 000000000000..332a42556ea4 --- /dev/null +++ b/databases/arangodb33/files/patch-3rdParty_rocksdb_v5.6.X_util_channel.h @@ -0,0 +1,28 @@ +In file included from rocksdb/utilities/backupable/backupable_db.cc:16: +rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' + std::lock_guard lk(lock_); + ^ ~~~~~ +/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier + explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) + ^ +/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument + lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; + ^ +/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided + lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) + ^ +1 error generated. + +https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964 + +--- 3rdParty/rocksdb/v5.6.X/util/channel.h.orig 2018-04-13 11:22:33 UTC ++++ 3rdParty/rocksdb/v5.6.X/util/channel.h +@@ -62,7 +62,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/databases/cockroach/files/patch-src_github.com_cockroachdb_cockroach_c-deps_rocksdb_util_channel.h b/databases/cockroach/files/patch-src_github.com_cockroachdb_cockroach_c-deps_rocksdb_util_channel.h new file mode 100644 index 000000000000..87972bfbcf63 --- /dev/null +++ b/databases/cockroach/files/patch-src_github.com_cockroachdb_cockroach_c-deps_rocksdb_util_channel.h @@ -0,0 +1,28 @@ +In file included from rocksdb/utilities/backupable/backupable_db.cc:16: +rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' + std::lock_guard lk(lock_); + ^ ~~~~~ +/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier + explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) + ^ +/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument + lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; + ^ +/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided + lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) + ^ +1 error generated. + +https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964 + +--- src/github.com/cockroachdb/cockroach/c-deps/rocksdb/util/channel.h.orig 2018-04-13 11:22:33 UTC ++++ src/github.com/cockroachdb/cockroach/c-deps/rocksdb/util/channel.h +@@ -62,7 +62,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/net/ceph12/files/patch-src_rocksdb_util_channel.h b/net/ceph12/files/patch-src_rocksdb_util_channel.h new file mode 100644 index 000000000000..872399eadaca --- /dev/null +++ b/net/ceph12/files/patch-src_rocksdb_util_channel.h @@ -0,0 +1,28 @@ +In file included from rocksdb/utilities/backupable/backupable_db.cc:16: +rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' + std::lock_guard lk(lock_); + ^ ~~~~~ +/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier + explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) + ^ +/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument + lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; + ^ +/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided + lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) + ^ +1 error generated. + +https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964 + +--- src/rocksdb/util/channel.h.orig 2018-04-13 11:22:33 UTC ++++ src/rocksdb/util/channel.h +@@ -62,7 +62,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/net/ceph13/files/patch-src_rocksdb_util_channel.h b/net/ceph13/files/patch-src_rocksdb_util_channel.h new file mode 100644 index 000000000000..872399eadaca --- /dev/null +++ b/net/ceph13/files/patch-src_rocksdb_util_channel.h @@ -0,0 +1,28 @@ +In file included from rocksdb/utilities/backupable/backupable_db.cc:16: +rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' + std::lock_guard lk(lock_); + ^ ~~~~~ +/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier + explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) + ^ +/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument + lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; + ^ +/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided + lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) + ^ +1 error generated. + +https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964 + +--- src/rocksdb/util/channel.h.orig 2018-04-13 11:22:33 UTC ++++ src/rocksdb/util/channel.h +@@ -62,7 +62,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/net/ceph14/files/patch-src_rocksdb_util_channel.h b/net/ceph14/files/patch-src_rocksdb_util_channel.h new file mode 100644 index 000000000000..872399eadaca --- /dev/null +++ b/net/ceph14/files/patch-src_rocksdb_util_channel.h @@ -0,0 +1,28 @@ +In file included from rocksdb/utilities/backupable/backupable_db.cc:16: +rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard' + std::lock_guard lk(lock_); + ^ ~~~~~ +/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier + explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) + ^ +/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard' for 1st argument + lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE; + ^ +/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided + lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) + ^ +1 error generated. + +https://github.com/facebook/rocksdb/commit/a796c06fef6a8e43d793f8e627db3f29e6f95964 + +--- src/rocksdb/util/channel.h.orig 2018-04-13 11:22:33 UTC ++++ src/rocksdb/util/channel.h +@@ -62,7 +62,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + };