Enet4 / faiss-rs

Rust language bindings for Faiss

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"Linking with cc failed" -- issue compiling?

bwindsor22 opened this issue · comments

Hey folks! I'm having what appears to be some issue compiling. Do you have any thoughts or suggestions about what might be going on here?

The closest I can find seems to point to a cargo or mac error:
rust-lang/rust#25289 (comment)
rust-lang/rust#60149 (comment)

I'm really quite a newbie at rust, so any debugging advice is appreciated!

Code :

use faiss::{index_factory, MetricType};

pub fn run_query() -> Option<f32>{
    let mut index = index_factory(3, "Flat", MetricType::L2).unwrap();
    Some(0.0)
}

Dependency:

[dependencies]
"faiss" = {version = "0.6.0"}

Error:

error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "-arch" "x86_64" "-L" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.1npak595a7css8z4.rcgu.o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.20hce9hmqhl203kn.rcgu.o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.2m6hiy95l4iyrwu5.rcgu.o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.2wd4t96zh75gv0va.rcgu.o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.3aclf5rjqxhrola4.rcgu.o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.chnosn5cykoslmi.rcgu.o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.sf29mzngf3nyfuf.rcgu.o" "-o" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/thistle.1vtd5t81sh40jhul.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps" "-L" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/build/torch-sys-ff3e9973ea28b04e/out/libtorch/libtorch/lib" "-L" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/build/torch-sys-ff3e9973ea28b04e/out" "-L" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/build/bzip2-sys-7fb991f7dbc50a4c/out/lib" "-L" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libthistle-d4a6c2bff82dd787.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librust_bert-31fa07c451540f80.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libitertools-1dfefb650b8cd53d.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librust_tokenizers-c31d0d587cde9540.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcsv-ed679ac6734a6098.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcsv_core-d75bfe6d0b9a8acb.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libbstr-c0070e4a1cc2d79c.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libregex_automata-87878d88ec463ae2.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libserde_json-21d54dcd579fec67.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libryu-90cf68ddeda11aee.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libitoa-abc241418b49187a.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libunicode_normalization-b2ce0f79e7c9edf9.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libtinyvec-1c50f201c52e47ed.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libtinyvec_macros-58d800761f45510a.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libregex-7a5e938964f73b44.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libregex_syntax-5efabd26812b2a98.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libaho_corasick-35270916c15955fe.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libmemchr-3f7b52af37b6f9bd.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libitertools-ae0eacccf85a2ec4.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librayon-bc7a015cc78390f5.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librayon_core-99e1dad4e52206ec.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libnum_cpus-0cc61c5a851016e3.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcrossbeam_deque-8134651f99d6d55c.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcrossbeam_epoch-5f4b888d78829961.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libmemoffset-6a6eb427edffc44b.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libscopeguard-31f20504eb2703cc.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcrossbeam_channel-6756a1e59e54d8c6.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcrossbeam_utils-a78a168a13cd1267.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libeither-562e7f0a923e8f49.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libordered_float-51fc742f3bcfcf51.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libtch-574ba415f0a7b978.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libndarray-20eeeae1632d9fd8.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libmatrixmultiply-f4c1da960d45074e.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libnum_complex-d55c58eb6e91e88f.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libnum_integer-e553cc3e4c6712d2.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libnum_traits-a75e93e9dc909b7f.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librawpointer-af04cc4bb8e47631.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libtorch_sys-2d9d21974de55caa.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libzip-c44b3f38577791de.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libtime-b0c05a3d813ace7b.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libthiserror-68a9b42d4132521f.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libbzip2-896046b3e15dd93a.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libbzip2_sys-e17a3ea19e42b8cc.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libflate2-6e853baf9c8b9e50.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libminiz_oxide-8509711269a1300e.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libadler32-51f964c75e3afbf2.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcfg_if-892e7cee77ae3329.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libbyteorder-be28ddbc530eab12.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcrc32fast-6110fcd70cf2e9da.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libfailure-ae0aa4a153df8b9f.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libbacktrace-093e0afaa529e2b3.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libobject-c15f758dd1367b9c.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libaddr2line-1fc0fb83f501e321.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libgimli-6174ef008c83096e.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libcfg_if-a42ba01468c6d92e.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librustc_demangle-9cc4760bb3afbdef.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/liblazy_static-98ea06d08472431a.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libfaiss-c6a410c6f8ab2423.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libfaiss_sys-74aeabac60e0cbd0.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libuuid-7e702774b0c69b2c.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/libserde-7d7b34b7398292db.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand-90af94b665a55644.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_xorshift-71f5c0bf8db7f494.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_pcg-c9f195549219f059.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_hc-7600fcdf91228ccb.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_chacha-f72b2299b81d26aa.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_isaac-8e1f8597c5ec4d3f.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_core-4170c848b672f583.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_os-5e84c8953b0ba2d6.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_jitter-3cd042c23570d8ca.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/liblibc-c2fdc019e3d38deb.rlib" "/Users/bradwindsor/ms_projects/thistle/thistle/target/debug/deps/librand_core-92e42927a2b53f93.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-46a061b08cc06738.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-7bebd2f04d2b9056.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libobject-8022bf77ecaec932.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-40998048b1ba428e.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libgimli-bd2a545ac887ab20.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-c0832a78f281aa17.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-e84927fb7a338bcb.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-80e6dd310746668f.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-70160232b7f5a1eb.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-dc1f6511b0655580.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-7606550a486f0fa7.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-d71be2efb2f94c3f.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-6bbd477ed289203f.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-c7c7638eea6d267e.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-ac475f5c856023a5.rlib" "/Users/bradwindsor/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-35393beafda280dd.rlib" "-lc++" "-ltorch" "-ltorch_cpu" "-lc10" "-lfaiss_c" "-framework" "Security" "-liconv" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv"
  = note: ld: library not found for -lfaiss_c

I suspect that the native library has not been built and installed beforehand. Have you built the C API of the Faiss library? Instructions are in the readme.

For version 0.9.0, you will need to build this revision of faiss_c. The upstream branches have substantial modifications which are yet to be released.

Yes, that was it, thank you for the fast response. Still working through; a bash install would be helpful in future versions.