Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build (configure) issues on macOS #1

Open
Drag0nFly opened this issue Oct 15, 2024 · 0 comments
Open

Build (configure) issues on macOS #1

Drag0nFly opened this issue Oct 15, 2024 · 0 comments

Comments

@Drag0nFly
Copy link

Drag0nFly commented Oct 15, 2024

This fails during the configure stage when checking the C compiler versions

checking whether protoc matches protobuf... no
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:21:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/string_view.h:39:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/attributes.h:37:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/config.h:92:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported."
#error "C++ versions less than C++14 are not supported."
 ^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:21:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/string_view.h:40:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/nullability.h:162:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/internal/nullability_impl.h:23:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:586:5: error: no template named 'enable_if_t' in namespace 'std'; did you mean simply 'enable_if_t'?
    std::enable_if_t<std::is_class<typename T::absl_internal_is_view>::value>>
    ^~~~~~~~~~~~~~~~
    enable_if_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:296:1: note: 'enable_if_t' declared here
using enable_if_t = typename std::enable_if<B, T>::type;
^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:618:5: error: no template named 'enable_if_t' in namespace 'std'; did you mean simply 'enable_if_t'?
    std::enable_if_t<std::is_class<typename T::absl_internal_is_view>::value>>
    ^~~~~~~~~~~~~~~~
    enable_if_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:296:1: note: 'enable_if_t' declared here
using enable_if_t = typename std::enable_if<B, T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:21:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/string_view.h:40:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/nullability.h:162:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/internal/nullability_impl.h:41:16: warning: variable templates are a C++14 extension [-Wc++14-extensions]
constexpr bool IsSupportedType = IsNullabilityCompatible<T>::value;
               ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/internal/nullability_impl.h:57:55: error: no template named 'remove_cv_t' in namespace 'std'; did you mean simply 'remove_cv_t'?
  static_assert(nullability_internal::IsSupportedType<std::remove_cv_t<T>>,
                                                      ^~~~~~~~~~~~~~~~
                                                      remove_cv_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:248:1: note: 'remove_cv_t' declared here
using remove_cv_t = typename std::remove_cv<T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:21:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/string_view.h:40:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/nullability.h:162:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/internal/nullability_impl.h:65:55: error: no template named 'remove_cv_t' in namespace 'std'; did you mean simply 'remove_cv_t'?
  static_assert(nullability_internal::IsSupportedType<std::remove_cv_t<T>>,
                                                      ^~~~~~~~~~~~~~~~
                                                      remove_cv_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:248:1: note: 'remove_cv_t' declared here
using remove_cv_t = typename std::remove_cv<T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:21:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/string_view.h:40:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/nullability.h:162:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/internal/nullability_impl.h:73:55: error: no template named 'remove_cv_t' in namespace 'std'; did you mean simply 'remove_cv_t'?
  static_assert(nullability_internal::IsSupportedType<std::remove_cv_t<T>>,
                                                      ^~~~~~~~~~~~~~~~
                                                      remove_cv_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:248:1: note: 'remove_cv_t' declared here
using remove_cv_t = typename std::remove_cv<T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:23:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/port.h:22:
/opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/port_def.inc:119:1: error: static assertion failed due to requirement '201103L >= 201402L': Protobuf only supports C++14 and newer.
static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and newer.");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:108:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/stubs/common.h:35:
/opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/port_def.inc:119:1: error: static assertion failed due to requirement '201103L >= 201402L': Protobuf only supports C++14 and newer.
static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and newer.");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/nullstream.h:36:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:102:3: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions]
  switch (s) {
  ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:108:3: warning: multiple return statements in constexpr function is a C++14 extension [-Wc++14-extensions]
  return "UNKNOWN";
  ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:103:36: note: previous return statement is here
    case absl::LogSeverity::kInfo: return "INFO";
                                   ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:104:39: note: previous return statement is here
    case absl::LogSeverity::kWarning: return "WARNING";
                                      ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:105:37: note: previous return statement is here
    case absl::LogSeverity::kError: return "ERROR";
                                    ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:106:37: note: previous return statement is here
    case absl::LogSeverity::kFatal: return "FATAL";
                                    ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:116:21: warning: variable declaration in a constexpr function is a C++14 extension [-Wc++14-extensions]
  absl::LogSeverity n = s;
                    ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/base/log_severity.h:117:3: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions]
  if (n < absl::LogSeverity::kInfo) n = absl::LogSeverity::kInfo;
  ^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:39:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/strip.h:25:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/log_message.h:41:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/log_entry.h:35:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:284:22: warning: 'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Wconstexpr-not-const]
    constexpr HiRep& operator=(const int64_t value) {
                     ^
                                                    const
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:261:7: warning: use of this statement in a constexpr constructor is a C++14 extension [-Wc++14-extensions]
      *this = value;
      ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:265:22: warning: variable declaration in a constexpr function is a C++14 extension [-Wc++14-extensions]
      const uint64_t unsigned_value =
                     ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:290:11: error: cannot assign to non-static data member within const member function 'operator='
      hi_ = static_cast<uint32_t>(unsigned_value >> 32);
      ~~~ ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:284:22: note: member function 'absl::Duration::HiRep::operator=' is declared const here
    constexpr HiRep& operator=(const int64_t value) {
    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:291:11: error: cannot assign to non-static data member within const member function 'operator='
      lo_ = static_cast<uint32_t>(unsigned_value);
      ~~~ ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:284:22: note: member function 'absl::Duration::HiRep::operator=' is declared const here
    constexpr HiRep& operator=(const int64_t value) {
    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:292:14: error: binding reference of type 'HiRep' to value of type 'const absl::Duration::HiRep' drops 'const' qualifier
      return *this;
             ^~~~~
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:289:18: warning: variable declaration in a constexpr function is a C++14 extension [-Wc++14-extensions]
      const auto unsigned_value = static_cast<uint64_t>(value);
                 ^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/time/time.h:290:7: warning: use of this statement in a constexpr function is a C++14 extension [-Wc++14-extensions]
      hi_ = static_cast<uint32_t>(unsigned_value >> 32);
      ^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:39:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/strip.h:25:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/log_message.h:41:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/log_entry.h:36:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/types/span.h:70:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/types/internal/span.h:119:21: error: no template named 'remove_const_t' in namespace 'std'; did you mean simply 'remove_const_t'?
  using Container = std::remove_const_t<T>;
                    ^~~~~~~~~~~~~~~~~~~
                    remove_const_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:251:1: note: 'remove_const_t' declared here
using remove_const_t = typename std::remove_const<T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:39:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/strip.h:25:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/log_message.h:41:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/log_entry.h:36:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/types/span.h:70:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/types/internal/span.h:130:24: error: no template named 'enable_if_t' in namespace 'std'; did you mean simply 'enable_if_t'?
using EnableIfIsView = std::enable_if_t<IsView<T>::value, int>;
                       ^~~~~~~~~~~~~~~~
                       enable_if_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:296:1: note: 'enable_if_t' declared here
using enable_if_t = typename std::enable_if<B, T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:39:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/strip.h:25:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/log_message.h:41:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/log_entry.h:36:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/types/span.h:70:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/types/internal/span.h:133:27: error: no template named 'enable_if_t' in namespace 'std'; did you mean simply 'enable_if_t'?
using EnableIfNotIsView = std::enable_if_t<!IsView<T>::value, int>;
                          ^~~~~~~~~~~~~~~~
                          enable_if_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:296:1: note: 'enable_if_t' declared here
using enable_if_t = typename std::enable_if<B, T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:39:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/strip.h:25:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/log_message.h:43:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/has_absl_stringify.h:57:8: error: no template named 'enable_if_t' in namespace 'std'; did you mean simply 'enable_if_t'?
    T, std::enable_if_t<std::is_void<decltype(AbslStringify(
       ^~~~~~~~~~~~~~~~
       enable_if_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:296:1: note: 'enable_if_t' declared here
using enable_if_t = typename std::enable_if<B, T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:110:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/absl_check.h:38:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_impl.h:19:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/log/internal/check_op.h:329:1: error: no template named 'enable_if_t' in namespace 'std'; did you mean simply 'enable_if_t'?
std::enable_if_t<HasAbslStringify<T>::value,
^~~~~~~~~~~~~~~~
enable_if_t
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/meta/type_traits.h:296:1: note: 'enable_if_t' declared here
using enable_if_t = typename std::enable_if<B, T>::type;
^
In file included from conftest.cpp:75:
In file included from ./conftest.pb.h:20:
In file included from /opt/homebrew/Cellar/protobuf/28.2/include/google/protobuf/io/coded_stream.h:112:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/strings/cord.h:80:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/container/inlined_vector.h:53:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/container/internal/inlined_vector.h:32:
In file included from /opt/homebrew/Cellar/abseil/20240722.0/include/absl/container/internal/compressed_tuple.h:40:
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/utility/utility.h:54:12: error: no member named 'exchange' in namespace 'std'
using std::exchange;
      ~~~~~^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/utility/utility.h:56:12: error: no member named 'index_sequence' in namespace 'std'
using std::index_sequence;
      ~~~~~^
/opt/homebrew/Cellar/abseil/20240722.0/include/absl/utility/utility.h:57:12: error: no member named 'index_sequence_for' in namespace 'std'
using std::index_sequence_for;
      ~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
10 warnings and 20 errors generated.
configure: error: in '/Users/martin/mosh-agent-forw':
configure: error: Could not build output generated by protoc (/opt/homebrew/bin/protoc).
Check that protoc matches the installed protobuf headers and libraries.
See 'config.log' for more details

The compilers however are recent, but might not be picked up by configure–

$ env |egrep 'CC|CXX'
CXX=/opt/homebrew/bin/g++-14
CC=/opt/homebrew/bin/gcc-14

$ /opt/homebrew/bin/gcc-14 --version
gcc-14 (Homebrew GCC 14.2.0) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ /opt/homebrew/bin/g++-14 --version
g++-14 (Homebrew GCC 14.2.0) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant