Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[boring-sys] Failed to cross-compile from Linux to Windows

未关闭
#71 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
冷清
技术栈
cmake, rust
领域
build-system

调研方向

从报告中所示的 cargo build 命令和 boring-sys CMake 配置开始,特别是第 65 行附近的 CMakeLists.txt。检查附加的 CMakeOutput.log 以及针对 x86_64-pc-windows-gnu 的交叉编译设置;当该目标的 release 构建成功完成时,即视为完成。

由索引模型根据 Issue 内容生成。

描述

Hello. Trying to build an app with boring-sys for Windows using x86_64-pc-windows-gnu target from Manjaro (based on Archlinux).
I have mingw packages installed (mingw-w64-gcc, mingw-w64-binutils, mingw-w64-crt, mingw-w64-headers, mingw-w64-winpthreads). Tried with rust stable (rustc 1.60.0) and nightly. Result is the same.

I don't know what I can do here from my side in order to successfully build the app. Could you please suggest my next steps?

cargo build --release --target x86_64-pc-windows-gnu
   Compiling boring-sys v2.0.0
error: failed to run custom build command for `boring-sys v2.0.0`

Caused by:
  process didn't exit successfully: `/mnt/Build/cargo/release/build/boring-sys-ae341c073d555390/build-script-build` (exit status: 101)
  --- stdout
  CMAKE_TOOLCHAIN_FILE_x86_64-pc-windows-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-pc-windows-gnu = None
  CMAKE_GENERATOR_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-pc-windows-gnu = None
  CMAKE_PREFIX_PATH_x86_64_pc_windows_gnu = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-pc-windows-gnu = None
  CMAKE_x86_64_pc_windows_gnu = None
  TARGET_CMAKE = None
  CMAKE = None
  running: "cmake" "/home/dev/.cargo/registry/src/github.com-1ecc6299db9ec823/boring-sys-2.0.0/deps/boringssl" "-DCMAKE_SYSTEM_NAME=Windows" "-DCMAKE_RC_COMPILER=/bin/x86_64-w64-mingw32-windres" "-DCMAKE_INSTALL_PREFIX=/mnt/Build/cargo/x86_64-pc-windows-gnu/release/build/boring-sys-339cd2bb124cb955/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_C_COMPILER=/bin/x86_64-w64-mingw32-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_CXX_COMPILER=/bin/x86_64-w64-mingw32-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_ASM_COMPILER=/bin/x86_64-w64-mingw32-gcc" "-DCMAKE_BUILD_TYPE=Release"
  -- Configuring incomplete, errors occurred!
  See also "/mnt/Build/cargo/x86_64-pc-windows-gnu/release/build/boring-sys-339cd2bb124cb955/out/build/CMakeFiles/CMakeOutput.log".

  --- stderr
  CMake Error at CMakeLists.txt:65 (elseif):
    given arguments:

      "STREQUAL" "x86_64"

    Unknown arguments specified


  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 1

  build script failed, must exit now', /home/dev/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.48/src/lib.rs:975:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Attaching CMakeOutput.log as well:

CMakeOutput.log

Line 65 of CMakeList (from the error above) this one:

62: if(OPENSSL_NO_ASM)
63:  add_definitions(-DOPENSSL_NO_ASM)
64:   set(ARCH "generic")
65: elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
66:   set(ARCH "x86_64")
67: elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64")
68:   set(ARCH "x86_64")
69: elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64")
70:   # cmake reports AMD64 on Windows, but we might be building for 32-bit.
71:   if(CMAKE_SIZEOF_VOID_P EQUAL 8)
72:    set(ARCH "x86_64")
73:   else()
74:     set(ARCH "x86")
75:   endif()
主要语言
Rust
星标
526
派生
178
平均合并
15 小时 34 分钟
30 天内合并 PR
9

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

cloudflare/boring 的其他 Issue

查看 cloudflare/boring 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。