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

Faiss fails to install on MacOS M2 Macbook #90

Closed
yackermann opened this issue Jan 7, 2024 · 2 comments
Closed

Faiss fails to install on MacOS M2 Macbook #90

yackermann opened this issue Jan 7, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@yackermann
Copy link

Describe the bug
While trying to install faiss on MacOS

To Reproduce
Describe the steps to reproduce the behavior:

pip install faiss-cpu

Downloading faiss-cpu-1.7.2.tar.gz (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.8/42.8 kB 4.3 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: faiss-cpu
  Building wheel for faiss-cpu (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for faiss-cpu (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [78 lines of output]
      running bdist_wheel
      running build
      running build_py
      running build_ext
      building 'faiss._swigfaiss' extension
      swigging faiss/faiss/python/swigfaiss.i to faiss/faiss/python/swigfaiss_wrap.cpp
      swig -python -c++ -Doverride= -I/usr/local/include -Ifaiss -doxygen -o faiss/faiss/python/swigfaiss_wrap.cpp faiss/faiss/python/swigfaiss.i
      faiss/faiss/python/swigfaiss.i:253: Error: Unable to find 'faiss/impl/platform_macros.h'
      faiss/faiss/python/swigfaiss.i:257: Error: Unable to find 'faiss/utils/ordered_key_value.h'
      faiss/faiss/python/swigfaiss.i:258: Error: Unable to find 'faiss/utils/Heap.h'
      faiss/faiss/python/swigfaiss.i:263: Error: Unable to find 'faiss/utils/AlignedTable.h'
      faiss/faiss/python/swigfaiss.i:264: Error: Unable to find 'faiss/utils/partitioning.h'
      faiss/faiss/python/swigfaiss.i:265: Error: Unable to find 'faiss/utils/hamming.h'
      faiss/faiss/python/swigfaiss.i:369: Error: Unable to find 'faiss/utils/utils.h'
      faiss/faiss/python/swigfaiss.i:370: Error: Unable to find 'faiss/utils/distances.h'
      faiss/faiss/python/swigfaiss.i:371: Error: Unable to find 'faiss/utils/random.h'
      faiss/faiss/python/swigfaiss.i:373: Error: Unable to find 'faiss/MetricType.h'
      faiss/faiss/python/swigfaiss.i:376: Error: Unable to find 'faiss/Index.h'
      faiss/faiss/python/swigfaiss.i:377: Error: Unable to find 'faiss/IndexFlatCodes.h'
      faiss/faiss/python/swigfaiss.i:378: Error: Unable to find 'faiss/IndexFlat.h'
      faiss/faiss/python/swigfaiss.i:379: Error: Unable to find 'faiss/Clustering.h'
      faiss/faiss/python/swigfaiss.i:381: Error: Unable to find 'faiss/utils/extra_distances.h'
      faiss/faiss/python/swigfaiss.i:385: Error: Unable to find 'faiss/impl/ProductQuantizer.h'
      faiss/faiss/python/swigfaiss.i:386: Error: Unable to find 'faiss/impl/AdditiveQuantizer.h'
      faiss/faiss/python/swigfaiss.i:387: Error: Unable to find 'faiss/impl/ResidualQuantizer.h'
      faiss/faiss/python/swigfaiss.i:388: Error: Unable to find 'faiss/impl/LocalSearchQuantizer.h'
      faiss/faiss/python/swigfaiss.i:390: Error: Unable to find 'faiss/VectorTransform.h'
      faiss/faiss/python/swigfaiss.i:391: Error: Unable to find 'faiss/IndexPreTransform.h'
      faiss/faiss/python/swigfaiss.i:392: Error: Unable to find 'faiss/IndexRefine.h'
      faiss/faiss/python/swigfaiss.i:393: Error: Unable to find 'faiss/IndexLSH.h'
      faiss/faiss/python/swigfaiss.i:394: Error: Unable to find 'faiss/impl/PolysemousTraining.h'
      faiss/faiss/python/swigfaiss.i:395: Error: Unable to find 'faiss/IndexPQ.h'
      faiss/faiss/python/swigfaiss.i:396: Error: Unable to find 'faiss/IndexAdditiveQuantizer.h'
      faiss/faiss/python/swigfaiss.i:397: Error: Unable to find 'faiss/impl/io.h'
      faiss/faiss/python/swigfaiss.i:399: Error: Unable to find 'faiss/invlists/InvertedLists.h'
      faiss/faiss/python/swigfaiss.i:400: Error: Unable to find 'faiss/invlists/InvertedListsIOHook.h'
      faiss/faiss/python/swigfaiss.i:402: Error: Unable to find 'faiss/invlists/BlockInvertedLists.h'
      faiss/faiss/python/swigfaiss.i:403: Error: Unable to find 'faiss/invlists/DirectMap.h'
      faiss/faiss/python/swigfaiss.i:406: Error: Unable to find 'faiss/IndexIVF.h'
      faiss/faiss/python/swigfaiss.i:411: Error: Unable to find 'faiss/IVFlib.h'
      faiss/faiss/python/swigfaiss.i:412: Error: Unable to find 'faiss/impl/ScalarQuantizer.h'
      faiss/faiss/python/swigfaiss.i:413: Error: Unable to find 'faiss/IndexScalarQuantizer.h'
      faiss/faiss/python/swigfaiss.i:414: Error: Unable to find 'faiss/IndexIVFSpectralHash.h'
      faiss/faiss/python/swigfaiss.i:415: Error: Unable to find 'faiss/IndexIVFAdditiveQuantizer.h'
      faiss/faiss/python/swigfaiss.i:416: Error: Unable to find 'faiss/impl/HNSW.h'
      faiss/faiss/python/swigfaiss.i:417: Error: Unable to find 'faiss/IndexHNSW.h'
      faiss/faiss/python/swigfaiss.i:419: Error: Unable to find 'faiss/impl/kmeans1d.h'
      faiss/faiss/python/swigfaiss.i:422: Error: Unable to find 'faiss/impl/NNDescent.h'
      faiss/faiss/python/swigfaiss.i:423: Error: Unable to find 'faiss/IndexNNDescent.h'
      faiss/faiss/python/swigfaiss.i:425: Error: Unable to find 'faiss/IndexIVFFlat.h'
      faiss/faiss/python/swigfaiss.i:426: Error: Unable to find 'faiss/impl/NSG.h'
      faiss/faiss/python/swigfaiss.i:427: Error: Unable to find 'faiss/IndexNSG.h'
      faiss/faiss/python/swigfaiss.i:432: Error: Unable to find 'faiss/invlists/OnDiskInvertedLists.h'
      faiss/faiss/python/swigfaiss.i:435: Error: Unable to find 'faiss/impl/lattice_Zn.h'
      faiss/faiss/python/swigfaiss.i:436: Error: Unable to find 'faiss/IndexLattice.h'
      faiss/faiss/python/swigfaiss.i:439: Error: Unable to find 'faiss/IndexIVFPQ.h'
      faiss/faiss/python/swigfaiss.i:440: Error: Unable to find 'faiss/IndexIVFPQR.h'
      faiss/faiss/python/swigfaiss.i:441: Error: Unable to find 'faiss/Index2Layer.h'
      faiss/faiss/python/swigfaiss.i:443: Error: Unable to find 'faiss/IndexPQFastScan.h'
      faiss/faiss/python/swigfaiss.i:444: Error: Unable to find 'faiss/IndexIVFPQFastScan.h'
      faiss/faiss/python/swigfaiss.i:445: Error: Unable to find 'faiss/utils/quantize_lut.h'
      faiss/faiss/python/swigfaiss.i:447: Error: Unable to find 'faiss/IndexBinary.h'
      faiss/faiss/python/swigfaiss.i:448: Error: Unable to find 'faiss/IndexBinaryFlat.h'
      faiss/faiss/python/swigfaiss.i:449: Error: Unable to find 'faiss/IndexBinaryIVF.h'
      faiss/faiss/python/swigfaiss.i:450: Error: Unable to find 'faiss/IndexBinaryFromFloat.h'
      faiss/faiss/python/swigfaiss.i:451: Error: Unable to find 'faiss/IndexBinaryHNSW.h'
      faiss/faiss/python/swigfaiss.i:452: Error: Unable to find 'faiss/IndexBinaryHash.h'
      faiss/faiss/python/swigfaiss.i:454: Error: Unable to find 'faiss/impl/ThreadedIndex.h'
      faiss/faiss/python/swigfaiss.i:458: Error: Unable to find 'faiss/IndexShards.h'
      faiss/faiss/python/swigfaiss.i:462: Error: Unable to find 'faiss/IndexReplicas.h'
      faiss/faiss/python/swigfaiss.i:466: Error: Unable to find 'faiss/MetaIndexes.h'
      faiss/faiss/python/swigfaiss.i:481: Error: Unable to find 'faiss/impl/AuxIndexStructures.h'
      faiss/faiss/python/swigfaiss.i:678: Error: Unable to find 'faiss/index_io.h'
      faiss/faiss/python/swigfaiss.i:679: Error: Unable to find 'faiss/clone_index.h'
      faiss/faiss/python/swigfaiss.i:683: Error: Unable to find 'faiss/AutoTune.h'
      faiss/faiss/python/swigfaiss.i:684: Error: Unable to find 'faiss/index_factory.h'
      faiss/faiss/python/swigfaiss.i:685: Error: Unable to find 'faiss/MatrixStats.h'
      error: command '/opt/homebrew/bin/swig' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for faiss-cpu
Failed to build faiss-cpu
ERROR: Could not build wheels for faiss-cpu, which is required to install pyproject.toml-based projects

Expected behavior
Expected it to install

Desktop (please complete the following information):

  • OS: MacOS Sonoma 14.0 (23A344)
  • Architecture: arm64
  • Pip: 23.3.2
  • Python: 3.12.0
  • Version: 1.7.1
@yackermann yackermann added the bug Something isn't working label Jan 7, 2024
@travelhawk
Copy link

Same error on Windows 10

@kyamagu
Copy link
Owner

kyamagu commented Jan 9, 2024

Python 3.12 is not supported yet #87

@kyamagu kyamagu closed this as completed Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants