Skip to content
New issue

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

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

Already on GitHub? # 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.

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

No branches or pull requests

6 participants