用于 C++ 依赖项构建的 gRPC 失败 curve25519_64_adx.h:16:对“fiat_curve25519_adx_mul”的未定义引用

问题描述 投票:0回答:1

我希望看到 C++ 的 gRPC 成功构建。 但是在构建 2000+ 的大部分依赖项大约 25 分钟后,我在构建 bssl 依赖项时遇到错误。

环境:
gRPC v1.60.1
操作系统:Windows
C++23
gcc 版本 13.1.0(x86_64-win32-seh-rev1,由 MinGW-Builds 项目构建)

CMakeLists.txt

cmake_minimum_required (VERSION 3.8)
set(COMMON_PROJECT_CPP_STANDARD 23 ON CACHE BOOL "" FORCE)
set(protobuf_INSTALL OFF)
set(utf8_range_ENABLE_INSTALL OFF)
FetchContent_Declare(
        gRPC
        GIT_REPOSITORY https://github.com/grpc/grpc
        GIT_TAG        v1.60.1
)
set(FETCHCONTENT_QUIET OFF)
FetchContent_MakeAvailable(gRPC)
set(_PROTOBUF_LIBPROTOBUF libprotobuf)
set(_REFLECTION grpc++_reflection)
set(_PROTOBUF_PROTOC $<TARGET_FILE:protoc>)
set(_GRPC_GRPCPP grpc++)
if(CMAKE_CROSSCOMPILING)
  find_program(_GRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin)
else()
  set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:grpc_cpp_plugin>)
endif()

构建输出:

====================[ Build | all | x64-Win-Debug-MinGW-GNU ]===================
X:\Progs\JetBrains\CLion\bin\cmake\win\x64\bin\cmake.exe --build D:\0my\pr0jects\CnC++\network\grpc\build\x64-win-debug-mingw-gnu --target all -j 6
[1/5] Linking CXX executable src\client\grpc_client.exe
[2/5] Linking CXX executable src\server\grpc_server.exe
[3/5] Linking CXX static library _deps\grpc-build\libgrpcpp_channelz.a
[4/5] Linking CXX executable _deps\grpc-build\third_party\boringssl-with-bazel\bssl.exe
FAILED: _deps/grpc-build/third_party/boringssl-with-bazel/bssl.exe 
cmd.exe /C "cd . && X:\Progs\JetBrains\CLion\bin\mingw\bin\g++.exe -fvisibility=hidden -fno-common -fno-exceptions -fno-rtti -g  _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/args.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/ciphers.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/client.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/const.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/digest.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/fd.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/file.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/generate_ech.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/generate_ed25519.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/genrsa.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/pkcs12.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/rand.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/server.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/sign.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/speed.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/tool.cc.obj _deps/grpc-build/third_party/boringssl-with-bazel/CMakeFiles/bssl.dir/src/tool/transport_common.cc.obj -o _deps\grpc-build\third_party\boringssl-with-bazel\bssl.exe -Wl,--out-implib,_deps\grpc-build\third_party\boringssl-with-bazel\libbssl.dll.a -Wl,--major-image-version,0,--minor-image-version,0  _deps/grpc-build/third_party/boringssl-with-bazel/libssl.a  _deps/grpc-build/third_party/boringssl-with-bazel/libcrypto.a  -lws2_32  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
X:\Progs\JetBrains\CLion\bin\mingw\bin/ld.exe: _deps/grpc-build/third_party/boringssl-with-bazel/libcrypto.a(curve25519_64_adx.c.obj): in function `fe4_mul':
Z:/projects/cpp/network/mygrpc/build/x64-win-debug-mingw-gnu/_deps/grpc-src/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h:16: undefined reference to `fiat_curve25519_adx_mul'
X:\Progs\JetBrains\CLion\bin\mingw\bin/ld.exe: _deps/grpc-build/third_party/boringssl-with-bazel/libcrypto.a(curve25519_64_adx.c.obj): in function `fe4_sq':
Z:/projects/cpp/network/mygrpc/build/x64-win-debug-mingw-gnu/_deps/grpc-src/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h:19: undefined reference to `fiat_curve25519_adx_square'
collect2.exe: error: ld returned 1 exit status
[5/5] Linking CXX executable src\client\grpc_client_test.exe
ninja: build stopped: subcommand failed.
grpc grpc-c++
1个回答
0
投票

抱歉,MinGW 不是我们测试的配置之一。

如果您在本地应用来自 https://boringssl-review.googlesource.com/c/boringssl/+/66189 的更改,应该可以修复它。

© www.soinside.com 2019 - 2024. All rights reserved.