Skip to content

Build (configure) issues on macOS #1

@Drag0nFly

Description

@Drag0nFly

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions