diff --git a/Cargo.toml b/Cargo.toml index 8365e485..26304f12 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,6 +17,7 @@ repository = "https://github.com/tazz4843/whisper-rs" whisper-rs-sys = { path = "sys", version = "0.13" } log = { version = "0.4", optional = true } tracing = { version = "0.1", optional = true } +libc = { version = "0.2", optional = true } [dev-dependencies] hound = "3.5.0" @@ -31,7 +32,7 @@ cuda = ["whisper-rs-sys/cuda", "_gpu"] hipblas = ["whisper-rs-sys/hipblas", "_gpu"] openblas = ["whisper-rs-sys/openblas"] metal = ["whisper-rs-sys/metal", "_gpu"] -vulkan = ["whisper-rs-sys/vulkan", "_gpu"] +vulkan = ["whisper-rs-sys/vulkan", "_gpu", "dep:libc"] openmp = ["whisper-rs-sys/openmp"] _gpu = [] test-with-tiny-model = [] diff --git a/src/vulkan.rs b/src/vulkan.rs index 67456d8b..8f8e7caf 100644 --- a/src/vulkan.rs +++ b/src/vulkan.rs @@ -29,7 +29,7 @@ pub fn list_devices() -> Vec { (0..n) .map(|id| { // 256 bytes is plenty (spec says 128 is enough) - let mut tmp = [0i8; 256]; + let mut tmp: [libc::c_char; 256] = [0; 256]; ggml_backend_vk_get_device_description(id as c_int, tmp.as_mut_ptr(), tmp.len()); let mut free = 0usize; let mut total = 0usize;