Describe the bug
Hi, I'm trying to build a library which uses tikv/client-rust (which uses grpcio). I am using the master version of tikv-client which uses grpcio-sys 0.10.3+1.44.0-patched. I have attempted to build the library in a number of different ways:
Build on macOS with x86_64-pc-windows-gnu as the target.
Build on Github Actions (windows-latest) with the target x86_64-pc-windows-gnu.
Build on Github Actions (windows-latest) with the target x86_64-pc-windows-msvc.
The tooling versions on macOS are:
brew install cmake mingw-w64
go version go1.19 darwin/arm64
cargo 1.62.1 (a748cf5a3 2022-06-08)
rustc 1.62.1 (e092d0b6b 2022-07-16)
cmake version 3.24.0
Apple clang version 13.1.6 (clang-1316.0.21.2.5)
perl v5.30.3 built for darwin-thread-multi-2level
The tooling versions on Windows Github Actions are
go version go1.17.13 windows/amd64
cargo 1.62.1 (a748cf5a3 2022-06-08)
rustc 1.62.1 (e092d0b6b 2022-07-16)
cmake version 3.24.0
gcc.exe (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 11.2.0
g++.exe (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 11.2.0
perl v5.32.1 built for x86_64-msys-thread-multi
To Reproduce
When running the build on macOS I receive the following error:
error: couldn't read /Users/tobie/Repositories/surrealdb/target/x86_64-pc-windows-gnu/release/build/grpcio-sys-89eb569412f5ce5d/out/grpc-bindings.rs: No such file or directory (os error 2)
--> /Users/tobie/.cargo/registry/src/github.com-1ecc6299db9ec823/grpcio-sys-0.10.3+1.44.0-patched/src/lib.rs:8:5
|
8 | include!(env!("BINDING_PATH"));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `include` (in Nightly builds, run with -Z macro-backtrace for more info)
error: could not compile `grpcio-sys` due to previous error
When running the build on Windows (for target x86_64-pc-windows-gnu) it errors with:
././grpc/include\grpc\impl\codegen\port_platform.h:68:10: fatal error: 'windows.h' file not found
././grpc/include\grpc\impl\codegen\port_platform.h:68:10: fatal error: 'windows.h' file not found, err: true
thread 'bindgen_grpc' panicked at 'Unable to generate grpc bindings: ()', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\grpcio-sys-0.10.3+1.44.0-patched\build.rs:440:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any { .. }', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\grpcio-sys-0.10.3+1.44.0-patched\build.rs:484:14
Describe the bug Hi, I'm trying to build a library which uses tikv/client-rust (which uses
grpcio
). I am using the master version oftikv-client
which usesgrpcio-sys 0.10.3+1.44.0-patched
. I have attempted to build the library in a number of different ways:x86_64-pc-windows-gnu
as the target.x86_64-pc-windows-gnu
.x86_64-pc-windows-msvc
.The tooling versions on macOS are:
The tooling versions on Windows Github Actions are
To Reproduce
When running the build on macOS I receive the following error:
When running the build on Windows (for target
x86_64-pc-windows-gnu
) it errors with:The full build can be seen here: https://github.com/surrealdb/build/runs/7785309154
When running the build on Windows (for target
x86_64-pc-windows-msvc
) it errors with:I have also attempted to install openssl headers with:
The full build can be seen here: https://github.com/surrealdb/build/runs/7785309293
Expected behavior Expected the package
grpcio-sys
to build successfully.Are there any instructions or guides to getting grpcio and grpcio-sys to build for the Windows target?
Thanks!