Skip to content

protobuf & abseil build issues #72

@nikolayKeniston

Description

@nikolayKeniston

Describe the bug
Trying to build project from source results in protobuf & abseil related compile errors indicating wrong usage of abseil methods from protobuf side.

To Reproduce
Steps to reproduce the behavior:

  1. sudo pacman -S openssl curl libuv libzip protobuf qt5-base qt5-webengine qt5-declarative qt5-svg qt5-quickcontrols qt5-quickcontrols2 qt5-tools libxrandr libxinerama libxcursor libxi
  2. git clone --recursive https://github.com/minecraft-linux/mcpelauncher-ui-manifest.git mcpelauncher-ui
  3. cd mcpelauncher-ui && mkdir -p build && cd build
  4. cmake ..
  5. ninja -j$(getconf _NPROCESSORS_ONLN)
  6. see very very long list of errors on ~200th object

Expected behavior
Executable succeeds to build.

Desktop

  • OS: Arch Linux
  • Version: Last commit
  • Installation Type: Built from source

Additional context
protobuf version: 29.2-1 (also tried 28.3)
abseil-cpp version: 20240722.1-1 (also tried 20240116.1-1)
Some errors:
usr/include/google/protobuf/repeated_field.h:489:5: error: no matching function for call to ‘absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(const char [46], int, std::string&)’
489 | ABSL_DCHECK_LE(size, Capacity(is_soo));
| ^~~~~~~~~~~~~~
/usr/local/include/absl/log/internal/log_message.h:355:3: note: candidate: ‘absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(const char*, int, int)’
355 | LogMessageFatal(const char* file, int line,
| ^~~~~~~~~~~~~~~
/usr/local/include/absl/log/internal/log_message.h:356:37: note: no known conversion for argument 3 from ‘std::string’ {aka ‘std::__cxx11::basic_string’} to ‘int’
356 | absl::string_view failure_msg) ABSL_ATTRIBUTE_COLD;
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/local/include/absl/log/internal/log_message.h:354:3: note: candidate: ‘absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(const char*, int)’
354 | LogMessageFatal(const char* file, int line) ABSL_ATTRIBUTE_COLD;
| ^~~~~~~~~~~~~~~

/usr/include/google/protobuf/repeated_ptr_field.h: In instantiation of ‘void google::protobuf::internal::RepeatedPtrFieldBase::Clear() [with TypeHandler = google::protobuf::internal::GenericTypeHandlerplayapi::proto::finsky::details::BulkDetailsEntry]’:
/usr/include/google/protobuf/repeated_ptr_field.h:1470:43: required from ‘void google::protobuf::RepeatedPtrField::Clear() [with Element = playapi::proto::finsky::details::BulkDetailsEntry]’
1470 | RepeatedPtrFieldBase::Clear();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/user/builds/mcpelauncher-ui/build/google-play-api/play_details.pb.h:2556:22: required from here
2556 | impl.entry_.Clear();
| ~~~~~~~~~~~~~~~~~~~^~
/usr/include/google/protobuf/repeated_ptr_field.h:267:5: error: no matching function for call to ‘absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(const char [50], int, std::string&)’
267 | ABSL_DCHECK_GE(n, 0);
| ^~~~~~~~~~~~~~
/usr/local/include/absl/log/internal/log_message.h:355:3: note: candidate: ‘absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(const char*, int, int)’
355 | LogMessageFatal(const char* file, int line,
| ^~~~~~~~~~~~~~~
/usr/local/include/absl/log/internal/log_message.h:356:37: note: no known conversion for argument 3 from ‘std::string’ {aka ‘std::__cxx11::basic_string’} to ‘int’
356 | absl::string_view failure_msg) ABSL_ATTRIBUTE_COLD;
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/local/include/absl/log/internal/log_message.h:354:3: note: candidate: ‘absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(const char*, int)’
354 | LogMessageFatal(const char* file, int line) ABSL_ATTRIBUTE_COLD;
| ^~~~~~~~~~~~~~~

As far as I understand version mismatch (absl::lts_20240116 and 20240722.1-1) is OK cuz of LTS; prebuilt protobuf binary on pacman is linked against 20240722 version and wouldn't work with 20240116 or some other version in any way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions