Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for mac m1? #74

Open
vvbae opened this issue Sep 17, 2023 · 7 comments
Open

Support for mac m1? #74

vvbae opened this issue Sep 17, 2023 · 7 comments

Comments

@vvbae
Copy link

vvbae commented Sep 17, 2023

I successfully installed faiss via brew with command:
brew reinstall faiss --build-from-source
it runs
cmake -B build . -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DFAISS_ENABLE_C_API=ON -DBUILD_SHARED_LIBS=ON.
I could add to my project faiss = "0.12.1", but when I try to run it it says note: ld: library not found for -lfaiss_c

@ava57r
Copy link
Collaborator

ava57r commented Sep 18, 2023

I successfully installed faiss via brew with command: brew reinstall faiss --build-from-source it runs cmake -B build . -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DFAISS_ENABLE_C_API=ON -DBUILD_SHARED_LIBS=ON. I could add to my project faiss = "0.12.1", but when I try to run it it says note: ld: library not found for -lfaiss_c

I use +
-DBUILD_SHARED_LIBS=ON

after run

make -C build -j8 faiss_c

@vvbae
Copy link
Author

vvbae commented Sep 18, 2023

I successfully installed faiss via brew with command: brew reinstall faiss --build-from-source it runs cmake -B build . -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DFAISS_ENABLE_C_API=ON -DBUILD_SHARED_LIBS=ON. I could add to my project faiss = "0.12.1", but when I try to run it it says note: ld: library not found for -lfaiss_c

I use + -DBUILD_SHARED_LIBS=ON

after run

make -C build -j8 faiss_c

I didn't build from the source like in INSTALL.MD, because the repo says mac m1 is not supported, so I followed the instructions at here which compiles faiss with brew.

The screenshot:
Screenshot 2023-09-18 at 1 54 36 PM

So I didn't run any CMake or make commands myself, as I think they won't run on my machine.

@DevinLeamy
Copy link

I successfully installed faiss via brew with command: brew reinstall faiss --build-from-source it runs cmake -B build . -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DFAISS_ENABLE_C_API=ON -DBUILD_SHARED_LIBS=ON. I could add to my project faiss = "0.12.1", but when I try to run it it says note: ld: library not found for -lfaiss_c

I use + -DBUILD_SHARED_LIBS=ON
after run
make -C build -j8 faiss_c

I didn't build from the source like in INSTALL.MD, because the repo says mac m1 is not supported, so I followed the instructions at here which compiles faiss with brew.

The screenshot: Screenshot 2023-09-18 at 1 54 36 PM

So I didn't run any CMake or make commands myself, as I think they won't run on my machine.

You can build from source on an M1 mac.

Give:

git clone https://github.com/Enet4/faiss.git
cd faiss
cmake -B build -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_C_API=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DFAISS_ENABLE_PYTHON=OFF
cmake --build build
make -C build -j8 faiss_c

A try.
Then add it to your libraries with, for example,

cp /path/to/faiss/build/c_api/libfaiss_c.dylib /usr/local/bin

@ceejatec
Copy link

@DevinLeamy The above doesn't work on M1 (at least, not on the stock faiss package) due to facebookresearch/faiss#2111 . According to that you need to install llvm from brew and then pass several additional arguments to the faiss build to make use of it.

@heemin32
Copy link

heemin32 commented Jul 9, 2024

I am also having an issue especially on running python tests which I think -DFAISS_ENABLE_PYTHON=ON is needed during build time.

@Enet4
Copy link
Owner

Enet4 commented Jul 10, 2024

I am also having an issue especially on running python tests which I think -DFAISS_ENABLE_PYTHON=ON is needed during build time.

It is pretty much outside this crate's intention to run any tests. If you are saying that they are being run by CMake despite the FAISS_ENABLE_PYTHON definition being disabled, then that is unexpected and should be treated as a bug, either from here or the main Faiss project.

@heemin32
Copy link

@Enet4 Sorry for the fuss. I was trying to build faiss from source and I came to a wrong place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants