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 with Android NDK fails #11671

Closed
TimPushkin opened this issue Jan 26, 2023 · 4 comments
Closed

Build with Android NDK fails #11671

TimPushkin opened this issue Jan 26, 2023 · 4 comments
Assignees
Labels
android c++ cmake inactive Denotes the issue/PR has not seen activity in the last 90 days.

Comments

@TimPushkin
Copy link

What version of protobuf and what language are you using?
Version: 3.21.12.0
Language: C++

What operating system (Linux, Windows, ...) and version?

Windows 10 for Android builds and WSL Ubuntu 22 for pure native builds.

What runtime / compiler are you using (e.g., python version or gcc version)

Clang 14.0.6 for Android builds (NDK r25) and GCC 11.3.0 for pure native builds.

What did you do?
I have created a small C++ library to test Protobuf on Android through JNI.

Here is how the library is linked to Protobuf in CMakeLists.txt (I use CMake 3.22.1 both on WSL and for Android builds):

// Fetch Protobuf
include(FetchContent)
FetchContent_Declare(
        Protobuf
        URL https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-3.21.12.tar.gz
)
set(Protobuf_INSTALL OFF)  # Removing this does not solve the issue I am describing
set(Protobuf_BUILD_TESTS OFF)
FetchContent_MakeAvailable(Protobuf)

// Compile test.proto with protoc
set(Protobuf_INCLUDE_DIR ${protobuf_SOURCE_DIR}/src)
set(Protobuf_LIBRARIES protobuf::libprotobuf-lite)
include(FindProtobuf)
find_package(Protobuf REQUIRED)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS test.proto)

// Configure my library target
add_library(my_lib Test.cpp ${PROTO_SRCS})
set_target_properties(my_lib PROPERTIES CXX_STANDARD 17)
target_link_libraries(my_lib PRIVATE ${Protobuf_LIBRARIES})
target_include_directories(
        my_lib
        PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
        PRIVATE ${CMAKE_CURRENT_BINARY_DIR}  // This includes PROTO_HDRS
)

This library builds (and runs) perfectly fine when I'm building it on WSL (using GCC and Ninja), so I have tried to use the library on Android building it with NDK (of course I added some JNI files for this purpose, but these do not cause any problems).

What did you expect to see

That the library builds fine with NDK just like it does on WSL.

What did you see instead?

During the NDK build I get the errors below stating that the build generator Ninja cannot find the protoc executable.

This executable gets generated during the build in <project path>\app\build\intermediates\cxx\Debug\531671x2\obj\x86_64\protoc, but for some reason Ninja cannot find it. On WSL this file gets generated in the CMake's binary dir (in this Android build it is <project path>\app\.cxx\Debug\531671x2\x86_64) but on Android it is moved for some reason.

Execution failed for task ':app:buildCMakeDebug[x86_64]'.
> com.android.ide.common.process.ProcessException: ninja: Entering directory `<project path>\app\.cxx\Debug\531671x2\x86_64'
  [0/2] Re-checking globbed directories...
  [1/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/gzip_stream.cc.o
  [2/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/tokenizer.cc.o
  [3/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/printer.cc.o
  [4/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/generated_message_bases.cc.o
  [5/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/field_mask.pb.cc.o
  [6/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/empty.pb.cc.o
  [7/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/source_context.pb.cc.o
  [8/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/generated_message_tctable_full.cc.o
  [9/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/service.cc.o
  [10/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/reflection_ops.cc.o
  [11/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/extension_set_heavy.cc.o
  [12/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/substitute.cc.o
  [13/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/map_field.cc.o
  [14/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/struct.pb.cc.o
  [15/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/message.cc.o
  [16/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/generated_message_reflection.cc.o
  [17/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/delimited_message_util.cc.o
  [18/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/unknown_field_set.cc.o
  [19/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/type.pb.cc.o
  [20/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/timestamp.pb.cc.o
  [21/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/error_listener.cc.o
  [22/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/field_mask_util.cc.o
  [23/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/json_escaping.cc.o
  [24/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/json_stream_parser.cc.o
  [25/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/field_comparator.cc.o
  [26/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/datapiece.cc.o
  [27/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/default_value_objectwriter.cc.o
  [28/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/field_mask_utility.cc.o
  [29/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/object_writer.cc.o
  [30/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/json_objectwriter.cc.o
  [31/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/text_format.cc.o
  [32/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/protostream_objectsource.cc.o
  [33/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/proto_writer.cc.o
  [34/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/generator.cc.o
  [35/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/utility.cc.o
  [36/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/json_util.cc.o
  [37/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/map_field.cc.o
  [38/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/wrappers.pb.cc.o
  [39/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/time_util.cc.o
  [40/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/protostream_objectwriter.cc.o
  [41/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/internal/type_info.cc.o
  [42/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/helpers.cc.o
  [43/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/file.cc.o
  [44/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/code_generator.cc.o
  [45/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/message.cc.o
  [46/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/type_resolver_util.cc.o
  [47/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/enum_field.cc.o
  [48/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/wire_format.cc.o
  [49/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/util/message_differencer.cc.o
  [50/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/enum.cc.o
  [51/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc.o
  [52/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc.o
  [53/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/extension.cc.o
  [54/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/field.cc.o
  [55/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc.o
  [56/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/context.cc.o
  [57/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc.o
  [58/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/padding_optimizer.cc.o
  [59/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/primitive_field.cc.o
  [60/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/service.cc.o
  [61/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc.o
  [62/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/parse_function_generator.cc.o
  [63/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/command_line_interface.cc.o
  [64/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/string_field.cc.o
  [65/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/cpp/message_field.cc.o
  [66/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_enum_field.cc.o
  [67/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_field_base.cc.o
  [68/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_enum.cc.o
  [69/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_helpers.cc.o
  [70/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_message.cc.o
  [71/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_map_field.cc.o
  [72/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_generator.cc.o
  [73/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_message_field.cc.o
  [74/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc.o
  [75/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc.o
  [76/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc.o
  [77/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/message_field_lite.cc.o
  [78/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/primitive_field.cc.o
  [79/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/name_resolver.cc.o
  [80/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/doc_comment.cc.o
  [81/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/message_field.cc.o
  [82/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/message_lite.cc.o
  [83/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/enum.cc.o
  [84/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/enum_field_lite.cc.o
  [85/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/enum_lite.cc.o
  [86/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/enum_field.cc.o
  [87/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/extension.cc.o
  [88/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/field.cc.o
  [89/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/extension_lite.cc.o
  [90/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/kotlin_generator.cc.o
  [91/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/generator_factory.cc.o
  [92/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/generator.cc.o
  [93/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/file.cc.o
  [94/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/map_field_lite.cc.o
  [95/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/map_field.cc.o
  [96/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/helpers.cc.o
  [97/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/message_builder.cc.o
  [98/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/message_builder_lite.cc.o
  [99/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/service.cc.o
  [100/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/message.cc.o
  [101/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/string_field_lite.cc.o
  [102/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/shared_code_generator.cc.o
  [103/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/primitive_field_lite.cc.o
  [104/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/java/string_field.cc.o
  [105/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_field.cc.o
  [106/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_extension.cc.o
  [107/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_enum.cc.o
  [108/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc.o
  [109/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_file.cc.o
  [110/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc.o
  [111/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc.o
  [112/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/plugin.pb.cc.o
  [113/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_message.cc.o
  [114/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_generator.cc.o
  [115/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc.o
  [116/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc.o
  [117/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/plugin.cc.o
  [118/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc.o
  [119/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/zip_writer.cc.o
  [120/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/python/helpers.cc.o
  [121/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/subprocess.cc.o
  [122/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/php/php_generator.cc.o
  [123/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arenaz_sampler.cc.o
  [124/402] Building CXX object _deps/protobuf-build/CMakeFiles/protoc.dir/src/google/protobuf/compiler/main.cc.o
  [125/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/io/io_win32.cc.o
  [126/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/ruby/ruby_generator.cc.o
  [127/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arena.cc.o
  [128/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/python/generator.cc.o
  [129/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/any_lite.cc.o
  [130/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotoc.dir/src/google/protobuf/compiler/python/pyi_generator.cc.o
  [131/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arenastring.cc.o
  [132/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/io/strtod.cc.o
  [133/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/generated_enum_util.cc.o
  [134/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/generated_message_util.cc.o
  [135/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/io/coded_stream.cc.o
  [136/402] Building CXX object _deps/protobuf-build/CMakeFiles/gmock_main.dir/third_party/googletest/googlemock/src/gmock_main.cc.o
  [137/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/io/zero_copy_stream_impl_lite.cc.o
  [138/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/io/zero_copy_stream.cc.o
  [139/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/inlined_string_field.cc.o
  [140/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/io/zero_copy_stream_impl.cc.o
  [141/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/extension_set.cc.o
  [142/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/implicit_weak_message.cc.o
  [143/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/generated_message_tctable_lite.cc.o
  In file included from <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:36:
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:256:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
  }
  ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:57:15: note: in instantiation of function template specialization 'google::protobuf::internal::AlignFail<4UL>' requested here
  template void AlignFail<4>(uintptr_t);
                ^
  In file included from <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:36:
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:256:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
  }
  ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:58:15: note: in instantiation of function template specialization 'google::protobuf::internal::AlignFail<8UL>' requested here
  template void AlignFail<8>(uintptr_t);
                ^
  In file included from <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:36:
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:256:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
  }
  ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:384:7: note: in instantiation of function template specialization 'google::protobuf::internal::AlignFail<1UL>' requested here
        AlignFail<alignof(T)>(reinterpret_cast<uintptr_t>(target));
        ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:1515:5: note: in instantiation of function template specialization 'google::protobuf::internal::TcParser::RefAt<bool>' requested here
      RefAt<bool>(msg, entry.offset) = static_cast<bool>(tmp);
      ^
  3 warnings generated.
  [144/402] Building CXX object _deps/protobuf-build/CMakeFiles/gmock.dir/third_party/googletest/googlemock/src/gmock-all.cc.o
  [145/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/map.cc.o
  [146/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/parse_context.cc.o
  [147/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/bytestream.cc.o
  [148/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/stringprintf.cc.o
  [149/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/message_lite.cc.o
  [150/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/structurally_valid.cc.o
  [151/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/repeated_ptr_field.cc.o
  [152/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/status.cc.o
  [153/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/int128.cc.o
  [154/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/stringpiece.cc.o
  [155/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/repeated_field.cc.o
  [156/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/common.cc.o
  [157/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/arenaz_sampler.cc.o
  [158/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/statusor.cc.o
  [159/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/generated_enum_util.cc.o
  [160/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/strutil.cc.o
  [161/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/stubs/time.cc.o
  [162/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/io_win32.cc.o
  [163/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/generated_message_util.cc.o
  [164/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/strtod.cc.o
  [165/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/arena.cc.o
  [166/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/any_lite.cc.o
  [167/402] Building CXX object _deps/protobuf-build/CMakeFiles/gmock.dir/third_party/googletest/googletest/src/gtest-all.cc.o
  [168/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/implicit_weak_message.cc.o
  [169/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/arenastring.cc.o
  [170/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/wire_format_lite.cc.o
  [171/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/inlined_string_field.cc.o
  [172/402] Linking CXX static library _deps\protobuf-build\libgmock.a
  [173/402] Linking CXX static library _deps\protobuf-build\libprotobuf-lited.a
  [174/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/coded_stream.cc.o
  [175/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/generated_message_tctable_lite.cc.o
  In file included from <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:36:
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:256:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
  }
  ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:57:15: note: in instantiation of function template specialization 'google::protobuf::internal::AlignFail<4UL>' requested here
  template void AlignFail<4>(uintptr_t);
                ^
  In file included from <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:36:
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:256:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
  }
  ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:58:15: note: in instantiation of function template specialization 'google::protobuf::internal::AlignFail<8UL>' requested here
  template void AlignFail<8>(uintptr_t);
                ^
  In file included from <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:36:
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:256:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
  }
  ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_impl.h:384:7: note: in instantiation of function template specialization 'google::protobuf::internal::AlignFail<1UL>' requested here
        AlignFail<alignof(T)>(reinterpret_cast<uintptr_t>(target));
        ^
  <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/generated_message_tctable_lite.cc:1515:5: note: in instantiation of function template specialization 'google::protobuf::internal::TcParser::RefAt<bool>' requested here
      RefAt<bool>(msg, entry.offset) = static_cast<bool>(tmp);
      ^
  3 warnings generated.
  [176/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/zero_copy_stream.cc.o
  [177/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/zero_copy_stream_impl.cc.o
  [178/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/io/zero_copy_stream_impl_lite.cc.o
  [179/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/extension_set.cc.o
  [180/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/map.cc.o
  [181/402] Linking CXX static library _deps\protobuf-build\libgmock_main.a
  [182/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/bytestream.cc.o
  [183/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/parse_context.cc.o
  [184/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/message_lite.cc.o
  [185/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/status.cc.o
  [186/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/int128.cc.o
  [187/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/common.cc.o
  [188/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/statusor.cc.o
  [189/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/structurally_valid.cc.o
  [190/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/repeated_ptr_field.cc.o
  [191/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/repeated_field.cc.o
  [192/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/stringpiece.cc.o
  [193/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/time.cc.o
  [194/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/strutil.cc.o
  [195/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/stubs/stringprintf.cc.o
  [196/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/wire_format_lite.cc.o
  [197/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/any.pb.cc.o
  [198/402] Building CXX object _deps/protobuf-build/CMakeFiles/test_plugin.dir/src/google/protobuf/compiler/test_plugin.cc.o
  [199/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/any.cc.o
  [200/402] Building CXX object _deps/protobuf-build/CMakeFiles/test_plugin.dir/src/google/protobuf/testing/file.cc.o
  [201/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/duration.pb.cc.o
  [202/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/compiler/importer.cc.o
  [203/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/api.pb.cc.o
  [204/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/dynamic_message.cc.o
  [205/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/compiler/parser.cc.o
  [206/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/descriptor.pb.cc.o
  [207/402] Building CXX object _deps/protobuf-build/CMakeFiles/test_plugin.dir/src/google/protobuf/compiler/mock_code_generator.cc.o
  [208/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/descriptor_database.cc.o
  [209/402] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf.dir/src/google/protobuf/descriptor.cc.o
  [210/402] Linking CXX static library _deps\protobuf-build\libprotobufd.a
  [211/402] Linking CXX static library _deps\protobuf-build\libprotocd.a
  [212/402] Linking CXX executable <project path>\app\build\intermediates\cxx\Debug\531671x2\obj\x86_64\test_plugin
  [213/402] Linking CXX executable <project path>\app\build\intermediates\cxx\Debug\531671x2\obj\x86_64\protoc
  [214/402] Generating ../protobuf-src/src/google/protobuf/map_lite_unittest.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/map_lite_unittest.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/map_lite_unittest.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/map_lite_unittest.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [215/402] Generating ../protobuf-src/src/google/protobuf/compiler/cpp/test_large_enum_value.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/compiler/cpp/test_large_enum_value.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/compiler/cpp/test_large_enum_value.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/compiler/cpp/test_large_enum_value.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [216/402] Generating ../protobuf-src/src/google/protobuf/unittest_embed_optimize_for.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_embed_optimize_for.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_embed_optimize_for.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_embed_optimize_for.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [217/402] Generating ../protobuf-src/src/google/protobuf/any_test.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/any_test.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/any_test.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/any_test.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [218/402] Generating ../protobuf-src/src/google/protobuf/unittest_import_lite.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_import_lite.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_import_lite.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_import_lite.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [219/402] Generating ../protobuf-src/src/google/protobuf/unittest_import_public_lite.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_import_public_lite.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_import_public_lite.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_import_public_lite.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [220/402] Generating ../protobuf-src/src/google/protobuf/unittest_arena.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_arena.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_arena.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_arena.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [221/402] Generating ../protobuf-src/src/google/protobuf/unittest_drop_unknown_fields.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_drop_unknown_fields.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_drop_unknown_fields.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_drop_unknown_fields.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [222/402] Generating ../protobuf-src/src/google/protobuf/unittest.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [223/402] Generating ../protobuf-src/src/google/protobuf/unittest_lite.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_lite.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_lite.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_lite.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [224/402] Generating ../protobuf-src/src/google/protobuf/map_unittest.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/map_unittest.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/map_unittest.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/map_unittest.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [225/402] Generating ../protobuf-src/src/google/protobuf/compiler/cpp/test_bad_identifiers.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/compiler/cpp/test_bad_identifiers.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/compiler/cpp/test_bad_identifiers.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/compiler/cpp/test_bad_identifiers.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [226/402] Generating ../protobuf-src/src/google/protobuf/map_proto2_unittest.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/map_proto2_unittest.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/map_proto2_unittest.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/map_proto2_unittest.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  [227/402] Generating ../protobuf-src/src/google/protobuf/unittest_custom_options.pb.cc
  FAILED: _deps/protobuf-src/src/google/protobuf/unittest_custom_options.pb.cc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_custom_options.pb.cc 
  cmd.exe /C "cd /D <project path>\app\.cxx\Debug\531671x2\x86_64\_deps\protobuf-build && protoc <project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src/google/protobuf/unittest_custom_options.proto --proto_path=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --cpp_out=<project path>/app/.cxx/Debug/531671x2/x86_64/_deps/protobuf-src/src --experimental_allow_proto3_optional"
  'protoc' is not recognized as an internal or external command,
  operable program or batch file.
  ninja: build stopped: subcommand failed.
@TimPushkin TimPushkin added the untriaged auto added to all issues by default when created. label Jan 26, 2023
@shaod2 shaod2 added c++ android cmake and removed untriaged auto added to all issues by default when created. labels Jan 30, 2023
@acozzette
Copy link
Member

I suspect the problem is that our CMake build is not currently set up in a way that would allow cross compiles to just work out of the box. To do a cross-compile, I believe you would want to build protoc normally for your host platform, and then build for your target platform (i.e. Android) but using -DWITH_PROTOC=path/to/protoc to tell CMake where to find a protoc binary built for your host machine.

@TimPushkin
Copy link
Author

Thanks for your reply, I guess this issue becomes a feature request for this to be supported then.

The rationale is that it would make creating Android apps with JNI components using Protobuf significantly easier since the builders will not have to manually configure anything (like pre-compiling protoc in this case).

Copy link

We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please add a comment.

This issue is labeled inactive because the last activity was over 90 days ago.

@github-actions github-actions bot added the inactive Denotes the issue/PR has not seen activity in the last 90 days. label Dec 10, 2023
Copy link

We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please reopen it.

This issue was closed and archived because there has been no new activity in the 14 days since the inactive label was added.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android c++ cmake inactive Denotes the issue/PR has not seen activity in the last 90 days.
Projects
None yet
Development

No branches or pull requests

3 participants