microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
23.28k stars 6.43k forks source link

[grpc] build failure on arm64-linux #40780

Closed mmerah closed 2 months ago

mmerah commented 2 months ago

Operating system

x64-linux

Compiler

GNU 12.2.0

Steps to reproduce the behavior

Package: grpc[codegen,core]:arm64-linux-custom@1.60.0#1

Installed with manifest mode.
CMake configuration:

    {
      "name": "vcpkg-cross-aarch64",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$penv{HOME}/vcpkg/scripts/buildsystems/vcpkg.cmake",
        "VCPKG_INSTALL_OPTIONS": "--binarysource=nugetconfig,${sourceDir}/vcpkg/nuget.config,readwrite",
        "VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/vcpkg",
        "VCPKG_TARGET_TRIPLET": "arm64-linux-custom"
      }
    },

Failure logs

-- Using cached grpc-grpc-v1.60.0.tar.gz.
-- Cleaning sources at /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-cff025ca16.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/torizon/vcpkg/downloads/grpc-grpc-v1.60.0.tar.gz
-- Applying patch 00001-fix-uwp.patch
-- Applying patch 00002-static-linking-in-linux.patch
-- Applying patch 00003-undef-base64-macro.patch
-- Applying patch 00004-link-gdi32-on-windows.patch
-- Applying patch 00005-fix-uwp-error.patch
-- Applying patch 00009-use-system-upb.patch
-- Applying patch 00015-disable-download-archive.patch
-- Applying patch 00016-fix-plugin-targets.patch
-- Applying patch 00017-abseil.patch
-- Using source at /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-cff025ca16.clean
-- Found external ninja('1.11.1').
-- Configuring arm64-linux-custom
-- Building arm64-linux-custom-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: /usr/bin/cmake/bin/cmake --build . --config Debug --target install -- -v -j13
    Working Directory: /home/torizon/vcpkg/buildtrees/grpc/arm64-linux-custom-dbg
    See logs for more information:
      /home/torizon/vcpkg/buildtrees/grpc/install-arm64-linux-custom-dbg-out.log
      /home/torizon/vcpkg/buildtrees/grpc/install-arm64-linux-custom-dbg-err.log

Call Stack (most recent call first):
  /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
  /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
  buildtrees/versioning_/versions/grpc/a0e82a8a701c3b0397dae373e16c527d1cafaae5/portfile.cmake:76 (vcpkg_cmake_install)
  scripts/ports.cmake:192 (include)
/home/torizon/vcpkg/buildtrees/grpc/install-arm64-linux-custom-dbg-out.log ``` Change Dir: '/home/torizon/vcpkg/buildtrees/grpc/arm64-linux-custom-dbg' Run Build Command(s): /usr/bin/ninja -v -v -j13 install ```
/home/torizon/vcpkg/buildtrees/grpc/install-arm64-linux-custom-dbg-err.log ``` ninja: error: '_gRPC_CPP_PLUGIN-NOTFOUND', needed by '/home/torizon/vcpkg/buildtrees/grpc/arm64-linux-custom-dbg/gens/src/proto/grpc/reflection/v1/reflection.pb.cc', missing and no known rule to make it ```

Additional context

The triplet is just the same as arm64-linux community triplet, just with unset(ENV{CROSS_COMPILE}) because my docker container sets it (openssl would then not compile). Whether it is set or not, this does not change anything for grpc, so I can reproduce with arm64-linux target triplet.

vcpkg.json ``` { "name": "my-server", "version-semver": "0.1.0", "dependencies": [ { "name": "spdlog", "version>=": "1.14.1" }, { "name": "protobuf", "version>=": "4.25.1#1" }, { "name": "grpc", "version>=": "1.60.0#1" }, { "name": "openssl", "version>=": "3.3.1#1" }, { "name": "libmariadb", "version>=": "3.3.1#4", "features": [ "openssl" ] }, { "name": "poco", "version>=": "1.13.3", "features": [ "mariadb" ] }, { "name": "magic-enum", "version>=": "0.9.6#1" }, { "name": "etl", "version>=": "20.38.10#1" } ], "default-features": [], "features": { "test": { "description": "Dependencies for testing", "dependencies": [ { "name": "gtest", "version>=": "1.13.0" }, { "name": "greatest", "version>=": "1.5.0" } ] } }, "builtin-baseline": "3508985146f1b1d248c67ead13f8f54be5b4f5da" } ```
CMakeCache observations 1. For whatever reasons, there is no grpc++_reflection_LIB_DEPENDS variable in the arm64 CMake variables: ``` root@07a43662667d:/home/torizon# cat vcpkg/buildtrees/grpc/config-arm64-linux-custom-dbg-CMakeCache.txt.log | grep grpc++ root@07a43662667d:/home/torizon# root@07a43662667d:/home/torizon# cat vcpkg/buildtrees/grpc/config-x64-linux-dbg-CMakeCache.txt.log | grep grpc++ grpc++_LIB_DEPENDS:STATIC=general;dl;general;m;general;rt;general;grpc;general;protobuf::libprotobuf; grpc++_alts_LIB_DEPENDS:STATIC=general;dl;general;m;general;rt;general;grpc++; grpc++_error_details_LIB_DEPENDS:STATIC=general;dl;general;m;general;rt;general;grpc++; grpc++_reflection_LIB_DEPENDS:STATIC=general;dl;general;m;general;rt;general;grpc++; grpc++_unsecure_LIB_DEPENDS:STATIC=general;dl;general;m;general;rt;general;grpc_unsecure;general;protobuf::libprotobuf; grpcpp_channelz_LIB_DEPENDS:STATIC=general;dl;general;m;general;rt;general;grpc++; ``` 2. config-arm64-linux-custom-dbg-ninja.log is missing some build command compared to config-x64-linux-dbg-ninja.log ``` root@07a43662667d:/home/torizon# cat vcpkg/buildtrees/grpc/config-arm64-linux-custom-dbg-ninja.log | grep grpc_cpp_plugin build plugins: phony CMakeFiles/plugins grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin # Object build statements for EXECUTABLE target grpc_cpp_plugin # Order-only phony target for grpc_cpp_plugin build cmake_object_order_depends_target_grpc_cpp_plugin: phony || cmake_object_order_depends_target_grpc_plugin_support build CMakeFiles/grpc_cpp_plugin.dir/src/compiler/cpp_plugin.cc.o: CXX_COMPILER__grpc_cpp_plugin_unscanned_Debug /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-cff025ca16.clean/src/compiler/cpp_plugin.cc || cmake_object_order_depends_target_grpc_cpp_plugin DEP_FILE = CMakeFiles/grpc_cpp_plugin.dir/src/compiler/cpp_plugin.cc.o.d OBJECT_DIR = CMakeFiles/grpc_cpp_plugin.dir OBJECT_FILE_DIR = CMakeFiles/grpc_cpp_plugin.dir/src/compiler TARGET_COMPILE_PDB = CMakeFiles/grpc_cpp_plugin.dir/ TARGET_PDB = grpc_cpp_plugin.pdb # Link build statements for EXECUTABLE target grpc_cpp_plugin # Link the executable grpc_cpp_plugin build grpc_cpp_plugin: CXX_EXECUTABLE_LINKER__grpc_cpp_plugin_Debug CMakeFiles/grpc_cpp_plugin.dir/src/compiler/cpp_plugin.cc.o | libgrpc_plugin_support.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libprotocd.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libprotobufd.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libutf8_validity.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_check_op.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_leak_check.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_die_if_null.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_conditions.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_message.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_nullguard.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_examine_stack.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_format.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_proto.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_log_sink_set.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_sink.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_entry.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_marshalling.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_reflection.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_config.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_program_name.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_private_handle_accessor.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_commandlineflag.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_flags_commandlineflag_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_initialize.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_globals.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_vlog_config_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_fnmatch.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_internal_globals.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_raw_hash_set.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_hash.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_city.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_low_level_hash.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_hashtablez_sampler.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_statusor.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_status.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_cord.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_cordz_info.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_cord_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_cordz_functions.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_exponential_biased.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_cordz_handle.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_crc_cord_state.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_crc32c.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_crc_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_crc_cpu_detect.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_bad_optional_access.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_strerror.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_str_format_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_synchronization.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_stacktrace.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_symbolize.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_debugging_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_demangle_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_demangle_rust.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_decode_rust_punycode.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_utf8_for_code_point.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_graphcycles_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_kernel_timeout_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_malloc_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_time.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_strings.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_strings_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_string_view.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_base.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_spinlock_wait.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_throw_delegate.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_int128.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_civil_time.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_time_zone.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_bad_variant_access.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_raw_logging_internal.a /home/torizon/my-server/build/dev-aarch64/vcpkg_installed/arm64-linux-custom/debug/lib/libabsl_log_severity.a || libgrpc_plugin_support.a OBJECT_DIR = CMakeFiles/grpc_cpp_plugin.dir TARGET_COMPILE_PDB = CMakeFiles/grpc_cpp_plugin.dir/ TARGET_FILE = grpc_cpp_plugin TARGET_PDB = grpc_cpp_plugin.pdb build CMakeFiles/plugins | ${cmake_ninja_workdir}CMakeFiles/plugins: phony grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin || grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin libgrpc_plugin_support.a build all: phony libaddress_sorting.a libgpr.a libgrpc.a libgrpc_unsecure.a libgrpc++.a libgrpc++_alts.a libgrpc++_error_details.a libgrpc++_reflection.a libgrpc++_unsecure.a libgrpc_authorization_provider.a libgrpc_plugin_support.a libgrpcpp_channelz.a grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin ``` ``` root@07a43662667d:/home/torizon# cat vcpkg/buildtrees/grpc/config-x64-linux-dbg-ninja.log | grep grpc_cpp_plugin build plugins: phony CMakeFiles/plugins grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin build cmake_object_order_depends_target_grpc++_reflection: phony || cmake_object_order_depends_target_address_sorting cmake_object_order_depends_target_gpr cmake_object_order_depends_target_grpc cmake_object_order_depends_target_grpc++ gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.cc gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.h gens/src/proto/grpc/reflection/v1/reflection.pb.cc gens/src/proto/grpc/reflection/v1/reflection.pb.h gens/src/proto/grpc/reflection/v1/reflection_mock.grpc.pb.h gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h gens/src/proto/grpc/reflection/v1alpha/reflection.pb.cc gens/src/proto/grpc/reflection/v1alpha/reflection.pb.h gens/src/proto/grpc/reflection/v1alpha/reflection_mock.grpc.pb.h grpc_cpp_plugin build libgrpc++_reflection.a: CXX_STATIC_LIBRARY_LINKER__grpc.2b.2b_reflection_Debug CMakeFiles/grpc++_reflection.dir/gens/src/proto/grpc/reflection/v1/reflection.pb.cc.o CMakeFiles/grpc++_reflection.dir/gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.cc.o CMakeFiles/grpc++_reflection.dir/gens/src/proto/grpc/reflection/v1alpha/reflection.pb.cc.o CMakeFiles/grpc++_reflection.dir/gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc.o CMakeFiles/grpc++_reflection.dir/src/cpp/ext/proto_server_reflection.cc.o CMakeFiles/grpc++_reflection.dir/src/cpp/ext/proto_server_reflection_plugin.cc.o || grpc_cpp_plugin libaddress_sorting.a libgpr.a libgrpc++.a libgrpc.a build cmake_object_order_depends_target_grpcpp_channelz: phony || cmake_object_order_depends_target_address_sorting cmake_object_order_depends_target_gpr cmake_object_order_depends_target_grpc cmake_object_order_depends_target_grpc++ gens/src/proto/grpc/channelz/channelz.grpc.pb.cc gens/src/proto/grpc/channelz/channelz.grpc.pb.h gens/src/proto/grpc/channelz/channelz.pb.cc gens/src/proto/grpc/channelz/channelz.pb.h gens/src/proto/grpc/channelz/channelz_mock.grpc.pb.h grpc_cpp_plugin build libgrpcpp_channelz.a: CXX_STATIC_LIBRARY_LINKER__grpcpp_channelz_Debug CMakeFiles/grpcpp_channelz.dir/gens/src/proto/grpc/channelz/channelz.pb.cc.o CMakeFiles/grpcpp_channelz.dir/gens/src/proto/grpc/channelz/channelz.grpc.pb.cc.o CMakeFiles/grpcpp_channelz.dir/src/cpp/server/channelz/channelz_service.cc.o CMakeFiles/grpcpp_channelz.dir/src/cpp/server/channelz/channelz_service_plugin.cc.o || grpc_cpp_plugin libaddress_sorting.a libgpr.a libgrpc++.a libgrpc.a # Object build statements for EXECUTABLE target grpc_cpp_plugin # Order-only phony target for grpc_cpp_plugin build cmake_object_order_depends_target_grpc_cpp_plugin: phony || cmake_object_order_depends_target_grpc_plugin_support build CMakeFiles/grpc_cpp_plugin.dir/src/compiler/cpp_plugin.cc.o: CXX_COMPILER__grpc_cpp_plugin_unscanned_Debug /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-0a3b54af22.clean/src/compiler/cpp_plugin.cc || cmake_object_order_depends_target_grpc_cpp_plugin DEP_FILE = CMakeFiles/grpc_cpp_plugin.dir/src/compiler/cpp_plugin.cc.o.d OBJECT_DIR = CMakeFiles/grpc_cpp_plugin.dir OBJECT_FILE_DIR = CMakeFiles/grpc_cpp_plugin.dir/src/compiler TARGET_COMPILE_PDB = CMakeFiles/grpc_cpp_plugin.dir/ TARGET_PDB = grpc_cpp_plugin.pdb # Link build statements for EXECUTABLE target grpc_cpp_plugin # Link the executable grpc_cpp_plugin build grpc_cpp_plugin: CXX_EXECUTABLE_LINKER__grpc_cpp_plugin_Debug CMakeFiles/grpc_cpp_plugin.dir/src/compiler/cpp_plugin.cc.o | libgrpc_plugin_support.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libprotocd.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libprotobufd.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libutf8_validity.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_check_op.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_leak_check.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_die_if_null.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_conditions.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_message.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_nullguard.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_examine_stack.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_format.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_proto.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_log_sink_set.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_sink.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_entry.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_marshalling.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_reflection.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_config.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_program_name.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_private_handle_accessor.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_commandlineflag.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_flags_commandlineflag_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_initialize.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_globals.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_vlog_config_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_fnmatch.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_internal_globals.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_raw_hash_set.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_hash.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_city.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_low_level_hash.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_hashtablez_sampler.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_statusor.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_status.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_cord.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_cordz_info.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_cord_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_cordz_functions.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_exponential_biased.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_cordz_handle.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_crc_cord_state.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_crc32c.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_crc_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_crc_cpu_detect.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_bad_optional_access.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_strerror.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_str_format_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_synchronization.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_stacktrace.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_symbolize.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_debugging_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_demangle_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_demangle_rust.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_decode_rust_punycode.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_utf8_for_code_point.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_graphcycles_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_kernel_timeout_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_malloc_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_time.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_strings.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_strings_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_string_view.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_base.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_spinlock_wait.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_throw_delegate.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_int128.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_civil_time.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_time_zone.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_bad_variant_access.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_raw_logging_internal.a /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/debug/lib/libabsl_log_severity.a || libgrpc_plugin_support.a OBJECT_DIR = CMakeFiles/grpc_cpp_plugin.dir TARGET_COMPILE_PDB = CMakeFiles/grpc_cpp_plugin.dir/ TARGET_FILE = grpc_cpp_plugin TARGET_PDB = grpc_cpp_plugin.pdb build CMakeFiles/plugins | ${cmake_ninja_workdir}CMakeFiles/plugins: phony grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin || grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin libgrpc_plugin_support.a build gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.cc gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.h gens/src/proto/grpc/reflection/v1/reflection_mock.grpc.pb.h gens/src/proto/grpc/reflection/v1/reflection.pb.cc gens/src/proto/grpc/reflection/v1/reflection.pb.h | ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.cc ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1/reflection.grpc.pb.h ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1/reflection_mock.grpc.pb.h ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1/reflection.pb.cc ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1/reflection.pb.h: CUSTOM_COMMAND /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-0a3b54af22.clean/src/proto/grpc/reflection/v1/reflection.proto protos/src/proto/grpc/reflection/v1/reflection.proto /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/tools/protobuf/protoc-25.1.0 grpc_cpp_plugin || grpc_cpp_plugin libaddress_sorting.a libgpr.a libgrpc++.a libgrpc.a libgrpc_plugin_support.a COMMAND = cd /home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/protos && /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/tools/protobuf/protoc-25.1.0 --grpc_out=generate_mock_code=true:/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/gens --cpp_out=/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/gens --plugin=protoc-gen-grpc=/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/grpc_cpp_plugin -I . -I /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/include src/proto/grpc/reflection/v1/reflection.proto build gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h gens/src/proto/grpc/reflection/v1alpha/reflection_mock.grpc.pb.h gens/src/proto/grpc/reflection/v1alpha/reflection.pb.cc gens/src/proto/grpc/reflection/v1alpha/reflection.pb.h | ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.cc ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1alpha/reflection_mock.grpc.pb.h ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1alpha/reflection.pb.cc ${cmake_ninja_workdir}gens/src/proto/grpc/reflection/v1alpha/reflection.pb.h: CUSTOM_COMMAND /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-0a3b54af22.clean/src/proto/grpc/reflection/v1alpha/reflection.proto protos/src/proto/grpc/reflection/v1alpha/reflection.proto /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/tools/protobuf/protoc-25.1.0 grpc_cpp_plugin || grpc_cpp_plugin libaddress_sorting.a libgpr.a libgrpc++.a libgrpc.a libgrpc_plugin_support.a COMMAND = cd /home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/protos && /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/tools/protobuf/protoc-25.1.0 --grpc_out=generate_mock_code=true:/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/gens --cpp_out=/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/gens --plugin=protoc-gen-grpc=/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/grpc_cpp_plugin -I . -I /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/include src/proto/grpc/reflection/v1alpha/reflection.proto build gens/src/proto/grpc/channelz/channelz.grpc.pb.cc gens/src/proto/grpc/channelz/channelz.grpc.pb.h gens/src/proto/grpc/channelz/channelz_mock.grpc.pb.h gens/src/proto/grpc/channelz/channelz.pb.cc gens/src/proto/grpc/channelz/channelz.pb.h | ${cmake_ninja_workdir}gens/src/proto/grpc/channelz/channelz.grpc.pb.cc ${cmake_ninja_workdir}gens/src/proto/grpc/channelz/channelz.grpc.pb.h ${cmake_ninja_workdir}gens/src/proto/grpc/channelz/channelz_mock.grpc.pb.h ${cmake_ninja_workdir}gens/src/proto/grpc/channelz/channelz.pb.cc ${cmake_ninja_workdir}gens/src/proto/grpc/channelz/channelz.pb.h: CUSTOM_COMMAND /home/torizon/vcpkg/buildtrees/grpc/src/v1.60.0-0a3b54af22.clean/src/proto/grpc/channelz/channelz.proto protos/src/proto/grpc/channelz/channelz.proto /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/tools/protobuf/protoc-25.1.0 grpc_cpp_plugin || grpc_cpp_plugin libaddress_sorting.a libgpr.a libgrpc++.a libgrpc.a libgrpc_plugin_support.a COMMAND = cd /home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/protos && /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/tools/protobuf/protoc-25.1.0 --grpc_out=generate_mock_code=true:/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/gens --cpp_out=/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/gens --plugin=protoc-gen-grpc=/home/torizon/vcpkg/buildtrees/grpc/x64-linux-dbg/grpc_cpp_plugin -I . -I /home/torizon/my-server/build/dev-unix/vcpkg_installed/x64-linux/include src/proto/grpc/channelz/channelz.proto build all: phony libaddress_sorting.a libgpr.a libgrpc.a libgrpc_unsecure.a libgrpc++.a libgrpc++_alts.a libgrpc++_error_details.a libgrpc++_reflection.a libgrpc++_unsecure.a libgrpc_authorization_provider.a libgrpc_plugin_support.a libgrpcpp_channelz.a grpc_cpp_plugin grpc_csharp_plugin grpc_node_plugin grpc_objective_c_plugin grpc_php_plugin grpc_python_plugin grpc_ruby_plugin ```
mmerah commented 2 months ago

Nevermind. I had to manually set HOST_TRIPLET to use x64, otherwise CROSSCOMPILING was not correct. My updated CMakePresets.json

CMake configuration:
    {
      "name": "vcpkg-cross-aarch64",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$penv{HOME}/vcpkg/scripts/buildsystems/vcpkg.cmake",
        "VCPKG_INSTALL_OPTIONS": "--binarysource=nugetconfig,${sourceDir}/vcpkg/nuget.config,readwrite",
        "VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/vcpkg",
        "VCPKG_TARGET_TRIPLET": "arm64-linux-custom",
        "VCPKG_HOST_TRIPLET": "x64-linux-custom"
      }
    },

x64-linux-custom is the same as x64-linux official triplet, except with unset(ENV{CROSS_COMPILE}). Once again because of my docker container.