Open jswang opened 2 years ago
Building RustaCUDA version 0.1.3 yields the following error when building on ARMv8:
error[E0308]: mismatched types --> /home/root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustacuda-0.1.3/src/device.rs:376:48 | 376 | let mut cu_uuid = CUuuid { bytes: [0i8; 16] }; | ^^^ expected `u8`, found `i8` | help: change the type of the numeric literal from `i8` to `u8` | 376 | let mut cu_uuid = CUuuid { bytes: [0u8; 16] }; | ~~
In the cuda_runtime.rs bindings and in the cuda.rs bindings from cuda-sys, these structs are raw c_char's: cuda_runtime.rs:
cuda-sys
#[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)] pub struct CUuuid_st { pub bytes: [::std::os::raw::c_char; 16usize], }
cuda.rs
Note that this doesn't happen when building on x86.
Change to u8 as suggested
u8
Background
Building RustaCUDA version 0.1.3 yields the following error when building on ARMv8:
In the cuda_runtime.rs bindings and in the cuda.rs bindings from
cuda-sys
, these structs are raw c_char's: cuda_runtime.rs:cuda.rs
Note that this doesn't happen when building on x86.
Proposed fix:
Change to
u8
as suggested