chrisdew / protobuf

Protocol Buffers for Node.JS
http://code.google.com/p/protobuf-for-node/
Apache License 2.0
234 stars 71 forks source link

Builds broken on macOS Mojave #57

Open prologic opened 4 years ago

prologic commented 4 years ago

Currently installing protobuf-node is broken on macOS Mojave:

Build logs:

$ npm install --save protobuf

> protobuf@0.11.1 install /Users/james/Projects/cloud-admin/node_modules/protobuf
> node-gyp rebuild

protobuf/protobuf_full_do_not_use.target.mk:186: warning: overriding commands for target `Release/protobuf_full_do_not_use.a'
protobuf/protobuf_full_do_not_use.host.mk:200: warning: ignoring old commands for target `Release/protobuf_full_do_not_use.a'
protobuf/protobuf_lite.target.mk:180: warning: overriding commands for target `Release/protobuf_lite.a'
protobuf/protobuf_lite.host.mk:194: warning: ignoring old commands for target `Release/protobuf_lite.a'
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/stubs/strutil.o
../protobuf/src/google/protobuf/stubs/strutil.cc:687:21: warning: unused function 'PlaceNum' [-Wunused-function]
static inline char* PlaceNum(char* p, int num, char prev_sep) {
                    ^
In file included from ../protobuf/src/google/protobuf/stubs/strutil.cc:33:
../protobuf/src/google/protobuf/stubs/strutil.h:307:25: warning: unused typedef 'sizeof_int64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_int64_is_not_sizeof_long_long);
                        ^
../protobuf/src/google/protobuf/stubs/strutil.h:313:25: warning: unused typedef 'sizeof_uint64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_uint64_is_not_sizeof_long_long);
                        ^
../protobuf/src/google/protobuf/stubs/strutil.cc:1013:39: warning: unused typedef 'DBL_DIG_is_too_big' [-Wunused-local-typedef]
  GOOGLE_COMPILE_ASSERT(DBL_DIG < 20, DBL_DIG_is_too_big);
                                      ^
../protobuf/src/google/protobuf/stubs/strutil.cc:1068:39: warning: unused typedef 'FLT_DIG_is_too_big' [-Wunused-local-typedef]
  GOOGLE_COMPILE_ASSERT(FLT_DIG < 10, FLT_DIG_is_too_big);
                                      ^
5 warnings generated.
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/stubs/substitute.o
../protobuf/src/google/protobuf/stubs/substitute.cc:129:3: warning: comparison of integers of different signs: 'long' and 'std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  GOOGLE_DCHECK_EQ(target - output->data(), output->size());
  ^                ~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/stubs/common.h:733:26: note: expanded from macro 'GOOGLE_DCHECK_EQ'
#define GOOGLE_DCHECK_EQ GOOGLE_CHECK_EQ
                         ^
../protobuf/src/google/protobuf/stubs/common.h:709:48: note: expanded from macro 'GOOGLE_CHECK_EQ'
#define GOOGLE_CHECK_EQ(A, B) GOOGLE_CHECK((A) == (B))
                                            ~  ^   ~
../protobuf/src/google/protobuf/stubs/common.h:708:26: note: expanded from macro 'GOOGLE_CHECK'
  GOOGLE_LOG_IF(FATAL, !(EXPRESSION)) << "CHECK failed: " #EXPRESSION ": "
                         ^~~~~~~~~~
../protobuf/src/google/protobuf/stubs/common.h:705:5: note: expanded from macro 'GOOGLE_LOG_IF'
  !(CONDITION) ? (void)0 : GOOGLE_LOG(LEVEL)
    ^~~~~~~~~
In file included from ../protobuf/src/google/protobuf/stubs/substitute.cc:33:
In file included from ../protobuf/src/google/protobuf/stubs/substitute.h:36:
../protobuf/src/google/protobuf/stubs/strutil.h:307:25: warning: unused typedef 'sizeof_int64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_int64_is_not_sizeof_long_long);
                        ^
../protobuf/src/google/protobuf/stubs/strutil.h:313:25: warning: unused typedef 'sizeof_uint64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_uint64_is_not_sizeof_long_long);
                        ^
3 warnings generated.
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/stubs/structurally_valid.o
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/descriptor.o
In file included from ../protobuf/src/google/protobuf/descriptor.cc:35:
In file included from ../protobuf/src/google/protobuf/stubs/hash.h:43:
/Library/Developer/CommandLineTools/usr/include/c++/v1/ext/hash_map:213:5: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
#   warning Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>
    ^
In file included from ../protobuf/src/google/protobuf/descriptor.cc:35:
In file included from ../protobuf/src/google/protobuf/stubs/hash.h:44:
/Library/Developer/CommandLineTools/usr/include/c++/v1/ext/hash_set:205:5: warning: Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
#   warning Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>
    ^
../protobuf/src/google/protobuf/descriptor.cc:134:21: warning: comparison of integers of different signs: 'int' and 'std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < input.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:492:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<void *, std::__1::allocator<void *>
      >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < allocations_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:516:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<const char *, std::__1::allocator<const
      char *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < symbols_after_checkpoint_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:519:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<const char *, std::__1::allocator<const
      char *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < files_after_checkpoint_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:522:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<std::__1::pair<const
      google::protobuf::Descriptor *, int>, std::__1::allocator<std::__1::pair<const google::protobuf::Descriptor *, int> > >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < extensions_after_checkpoint_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:536:50: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<void *, std::__1::allocator<void *>
      >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = allocations_before_checkpoint_; i < allocations_.size(); i++) {
                                               ~ ^ ~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:989:25: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<int, std::__1::allocator<int> >::size_type'
      (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < numbers.size(); ++i) {
                      ~ ^ ~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:1498:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<const google::protobuf::FieldDescriptor *,
      std::__1::allocator<const google::protobuf::FieldDescriptor *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < fields.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:1534:23: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<std::__1::basic_string<char>,
      std::__1::allocator<std::__1::basic_string<char> > >::size_type' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < all_options.size(); i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:2361:20: warning: comparison of integers of different signs: 'int' and 'const typename basic_string<char, char_traits<char>,
      allocator<char> >::size_type' (aka 'const unsigned long') [-Wsign-compare]
  if (name_dot_pos == string::npos) {
      ~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:2607:23: warning: comparison of integers of different signs: 'int' and 'std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >::size_type' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < name.size(); i++) {
                    ~ ^ ~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:2623:21: warning: comparison of integers of different signs: 'int' and 'std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < name.size(); i++) {
                  ~ ^ ~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:2728:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<std::__1::basic_string<char>,
      std::__1::allocator<std::__1::basic_string<char> > >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < tables_->pending_files_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:2731:16: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<std::__1::basic_string<char>,
      std::__1::allocator<std::__1::basic_string<char> > >::size_type' (aka 'unsigned long') [-Wsign-compare]
      for (; i < tables_->pending_files_.size(); i++) {
             ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor.cc:3650:17: warning: reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to
      always evaluate to true [-Wtautological-undefined-compare]
         &file->options() != NULL &&
          ~~~~~~^~~~~~~~~    ~~~~
../protobuf/src/google/protobuf/descriptor.h:1274:1: note: 'options' returns a reference
PROTOBUF_DEFINE_OPTIONS_ACCESSOR(FileDescriptor, FileOptions);
^
../protobuf/src/google/protobuf/descriptor.h:1185:29: note: expanded from macro 'PROTOBUF_DEFINE_OPTIONS_ACCESSOR'
  inline const TYPE& CLASS::options() const { return *options_; }
                            ^
../protobuf/src/google/protobuf/descriptor.cc:211:23: warning: unused variable 'bucket_size' [-Wunused-const-variable]
  static const size_t bucket_size = 4;
                      ^
../protobuf/src/google/protobuf/descriptor.cc:212:23: warning: unused variable 'min_buckets' [-Wunused-const-variable]
  static const size_t min_buckets = 8;
                      ^
In file included from ../protobuf/src/google/protobuf/descriptor.cc:54:
../protobuf/src/google/protobuf/stubs/strutil.h:307:25: warning: unused typedef 'sizeof_int64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_int64_is_not_sizeof_long_long);
                        ^
../protobuf/src/google/protobuf/stubs/strutil.h:313:25: warning: unused typedef 'sizeof_uint64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_uint64_is_not_sizeof_long_long);
                        ^
21 warnings generated.
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/descriptor.pb.o
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/descriptor_database.o
../protobuf/src/google/protobuf/descriptor_database.cc:303:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<void *, std::__1::allocator<void
      *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < files_to_delete_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:441:21: warning: comparison of integers of different signs: 'int' and 'std::__1::vector<const
      google::protobuf::FieldDescriptor *, std::__1::allocator<const google::protobuf::FieldDescriptor *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < extensions.size(); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:464:21: warning: comparison of integers of different signs: 'int' and
      'std::__1::vector<google::protobuf::DescriptorDatabase *, std::__1::allocator<google::protobuf::DescriptorDatabase *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < sources_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:475:21: warning: comparison of integers of different signs: 'int' and
      'std::__1::vector<google::protobuf::DescriptorDatabase *, std::__1::allocator<google::protobuf::DescriptorDatabase *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < sources_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:498:21: warning: comparison of integers of different signs: 'int' and
      'std::__1::vector<google::protobuf::DescriptorDatabase *, std::__1::allocator<google::protobuf::DescriptorDatabase *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < sources_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:525:21: warning: comparison of integers of different signs: 'int' and
      'std::__1::vector<google::protobuf::DescriptorDatabase *, std::__1::allocator<google::protobuf::DescriptorDatabase *> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < sources_.size(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:237:21: warning: comparison of integers of different signs: 'int' and 'std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < name.size(); i++) {
                  ~ ^ ~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:93:8: note: in instantiation of member function 'google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<const
      google::protobuf::FileDescriptorProto *>::ValidateSymbolName' requested here
  if (!ValidateSymbolName(name)) {
       ^
../protobuf/src/google/protobuf/descriptor_database.cc:68:10: note: in instantiation of member function 'google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<const
      google::protobuf::FileDescriptorProto *>::AddSymbol' requested here
    if (!AddSymbol(path + file.message_type(i).name(), value)) return false;
         ^
../protobuf/src/google/protobuf/descriptor_database.cc:264:17: note: in instantiation of member function 'google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<const
      google::protobuf::FileDescriptorProto *>::AddFile' requested here
  return index_.AddFile(*file, file);
                ^
../protobuf/src/google/protobuf/descriptor_database.cc:237:21: warning: comparison of integers of different signs: 'int' and 'std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >::size_type' (aka 'unsigned long') [-Wsign-compare]
  for (int i = 0; i < name.size(); i++) {
                  ~ ^ ~~~~~~~~~~~
../protobuf/src/google/protobuf/descriptor_database.cc:93:8: note: in instantiation of member function
      'google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<std::__1::pair<const void *, int> >::ValidateSymbolName' requested here
  if (!ValidateSymbolName(name)) {
       ^
../protobuf/src/google/protobuf/descriptor_database.cc:68:10: note: in instantiation of member function
      'google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<std::__1::pair<const void *, int> >::AddSymbol' requested here
    if (!AddSymbol(path + file.message_type(i).name(), value)) return false;
         ^
../protobuf/src/google/protobuf/descriptor_database.cc:312:19: note: in instantiation of member function
      'google::protobuf::SimpleDescriptorDatabase::DescriptorIndex<std::__1::pair<const void *, int> >::AddFile' requested here
    return index_.AddFile(file, make_pair(encoded_file_descriptor, size));
                  ^
In file included from ../protobuf/src/google/protobuf/descriptor_database.cc:41:
../protobuf/src/google/protobuf/stubs/strutil.h:307:25: warning: unused typedef 'sizeof_int64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_int64_is_not_sizeof_long_long);
                        ^
../protobuf/src/google/protobuf/stubs/strutil.h:313:25: warning: unused typedef 'sizeof_uint64_is_not_sizeof_long_long' [-Wunused-local-typedef]
                        sizeof_uint64_is_not_sizeof_long_long);
                        ^
10 warnings generated.
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/dynamic_message.o
In file included from ../protobuf/src/google/protobuf/dynamic_message.cc:66:
In file included from ../protobuf/src/google/protobuf/stubs/hash.h:43:
/Library/Developer/CommandLineTools/usr/include/c++/v1/ext/hash_map:213:5: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
#   warning Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>
    ^
In file included from ../protobuf/src/google/protobuf/dynamic_message.cc:66:
In file included from ../protobuf/src/google/protobuf/stubs/hash.h:44:
/Library/Developer/CommandLineTools/usr/include/c++/v1/ext/hash_set:205:5: warning: Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
#   warning Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>
    ^
2 warnings generated.
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/extension_set_heavy.o
../protobuf/src/google/protobuf/extension_set_heavy.cc:362:14: warning: comparison of two values with different enumeration types in switch statement ('FieldDescriptor::Type'
      and 'google::protobuf::internal::WireFormatLite::FieldType') [-Wenum-compare-switch]
        case WireFormatLite::TYPE_MESSAGE:
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/extension_set_heavy.cc:361:14: warning: comparison of two values with different enumeration types in switch statement ('FieldDescriptor::Type'
      and 'google::protobuf::internal::WireFormatLite::FieldType') [-Wenum-compare-switch]
        case WireFormatLite::TYPE_GROUP:
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/extension_set_heavy.cc:360:14: warning: comparison of two values with different enumeration types in switch statement ('FieldDescriptor::Type'
      and 'google::protobuf::internal::WireFormatLite::FieldType') [-Wenum-compare-switch]
        case WireFormatLite::TYPE_BYTES:
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
../protobuf/src/google/protobuf/extension_set_heavy.cc:359:14: warning: comparison of two values with different enumeration types in switch statement ('FieldDescriptor::Type'
      and 'google::protobuf::internal::WireFormatLite::FieldType') [-Wenum-compare-switch]
        case WireFormatLite::TYPE_STRING:
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/generated_message_reflection.o
  CXX(host) Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/message.o
In file included from ../protobuf/src/google/protobuf/message.cc:36:
In file included from ../protobuf/src/google/protobuf/stubs/hash.h:43:
/Library/Developer/CommandLineTools/usr/include/c++/v1/ext/hash_map:213:5: warning: Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map> [-W#warnings]
#   warning Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>
    ^
In file included from ../protobuf/src/google/protobuf/message.cc:36:
In file included from ../protobuf/src/google/protobuf/stubs/hash.h:44:
/Library/Developer/CommandLineTools/usr/include/c++/v1/ext/hash_set:205:5: warning: Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set> [-W#warnings]
#   warning Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>
    ^
../protobuf/src/google/protobuf/message.cc:130:60: error: implicit instantiation of undefined template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'
  return ParseFromZeroCopyStream(&zero_copy_input) && input->eof();
                                                           ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iosfwd:109:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_istream;
                               ^
../protobuf/src/google/protobuf/message.cc:135:67: error: implicit instantiation of undefined template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'
  return ParsePartialFromZeroCopyStream(&zero_copy_input) && input->eof();
                                                                  ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iosfwd:109:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_istream;
                               ^
../protobuf/src/google/protobuf/message.cc:175:16: error: implicit instantiation of undefined template 'std::__1::basic_ostream<char, std::__1::char_traits<char> >'
  return output->good();
               ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iosfwd:111:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_ostream;
                               ^
2 warnings and 3 errors generated.
make: *** [Release/obj.host/protobuf_full_do_not_use/protobuf/src/google/protobuf/message.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:196:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 18.6.0
gyp ERR! command "/usr/local/Cellar/node/12.12.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/james/Projects/cloud-admin-node_modules/protobuf
gyp ERR! node -v v12.12.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/Users/james/Projects/cloud-admin/package.json'
npm WARN winston-daily-rotate-file@2.0.0-beta requires a peer of winston@2.x but none is installed. You must install peer dependencies yourself.
npm WARN cloud-admin No description
npm WARN cloud-admin No repository field.
npm WARN cloud-admin No README data
npm WARN cloud-admin No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! protobuf@0.11.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the protobuf@0.11.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/james/.npm/_logs/2019-10-27T23_04_05_709Z-debug.log

NodeJS version:

$ node --version
v12.12.0

I see there are some related PRs to fix some warnings #42 and #56 but even after applying these patches to my fork there are still numerous compilation problems. Near as I can tell many of these are because Mojave uses clang by default? I've tried to brew tap / brew install appropriate versions of GCC and set CC and CXX env vars but have not manage to successfully build the protobuf-node module yet :/

Appreciate some help here :)