Ubuntu 16.0.4下源码编译faiss库
记录一下编译faiss库的过程
首先到 https://github.com/facebookresearch/faiss 下载一下最新的发布包 faiss-1.7.2.tar.gz
tar -xzvf faiss-1.7.2.tar.gz cd faiss-1.7.2 mkdir build cd build #只编译C++库,使用CPU,不需要PYTHON和GPU sudo cmake .. -DBUILD_SHARED_LIBS=OFF -DFAISS_ENABLE_GPU=OFF -DFAISS_ENABLE_PYTHON=OFF -DBLA_VENDOR=Intel10_64_dyn -DMKL_LIBRARIES=/opt/intel/oneapi/mkl/latest/lib/intel64/ sudo make faiss -j
过程中碰到的问题以及解决方法
1. ubuntu 16.0.4自带的cmake版本不够,
处理方法,到 https://cmake.org/files/v3.24/ 下载 cmake-3.24.2-linux-x86_64.tar.gz
wget https://cmake.org/files/v3.24/cmake-3.24.2-linux-x86_64.tar.gz tar -xzvf cmake-3.24.2-linux-x86_64.tar.gz cd cmake-3.24.2-linux-x86_64 #sudo cp -ap /usr/bin/cmake /usr/bin/cmake35 #sudo cp -ap bin/cmake /usr/bin/cmake324 sudo cp -ap bin/cmake /usr/bin/cmake sudo cp -apr share/cmake-3.24/ /usr/share/cmake-3.24
2. 提示缺少MKL库
到Intel网站下载安装 https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html
目前下载到的是 l_onemkl_p_2022.2.0.8748_offline.sh
sudo ./l_onemkl_p_2022.2.0.8748_offline.sh
按照提示一路确认下去
#导入mkl的环境 . /opt/intel/oneapi/mkl/latest/env/vars.sh #可以去掉cmake命令中的参数 -DBLA_VENDOR=Intel10_64_dyn -DMKL_LIBRARIES=/opt/intel/oneapi/mkl/latest/lib/intel64/
3.提示找不到BLA库
设置 -DBLA_VENDOR=Intel10_64_dyn -DMKL_LIBRARIES=/opt/intel/oneapi/mkl/latest/lib/intel64/
库目录根据实际安装路径定,上面是默认路径
Popularity: 8% [?]