mdrokz / rust-llama.cpp

LLama.cpp rust bindings
https://crates.io/crates/llama_cpp_rs/
MIT License
287 stars 42 forks source link

Compiling with metal feature has `ggml-metal.o` linker failure #40

Open tc-wolf opened 4 months ago

tc-wolf commented 4 months ago
  error occurred: Command ZERO_AR_DATE="1" "ar" "cq" "/home/tc-wolf/rust-llama.cpp/target/release/build/llama_cpp_rs-75252caa56296e09/out/libbinding.a" "/home/tc-wolf/rust-llama.cpp/target/release/build/llama_cpp_rs-75252caa56296e09/out/./llama.cpp/common/common.o" "/home/tc-wolf/rust-llama.cpp/target/release/build/llama_cpp_rs-75252caa56296e09/out/./llama.cpp/llama.o" "/home/tc-wolf/rust-llama.cpp/target/release/build/llama_cpp_rs-75252caa56296e09/out/./binding.o" "/home/tc-wolf/rust-llama.cpp/target/release/build/llama_cpp_rs-75252caa56296e09/out/llama.cpp/ggml.o" "/home/tc-wolf/rust-llama.cpp/target/release/build/llama_cpp_rs-75252caa56296e09/out/llama.cpp/ggml-metal.o" with args "ar" did not execute successfully (status code exit status: 1).

This is because the cc-rs crate adds a hash to the generated object file name to avoid collisions if there is another file in a subdirectory with the same name.

Should be fixed by #39

mikecvet commented 3 months ago

Same issue here

error occurred: Command ZERO_AR_DATE="1" "ar" "cq" 
[...]
target/debug/build/llama_cpp_rs-7523fd9532577412/out/llama.cpp/ggml.o" with args "ar" did not execute successfully (status code exit status: 1).
5antelope commented 3 months ago

Same error, what's the work around for this?

mikecvet commented 3 months ago

In my project, which depends on rust-llama.cpp, I fixed this by pinning the upstream cc dependency in my Cargo.toml:

[dependencies]
cc = "=1.0.83"