MacOS High Sierra(10.13.2) 编译Faiss -- 包括问题解决

Faiss 安装 – MacOS High Sierra(10.13.2)

这个现在已经不适用啦,现在可以看这个官方的安装文档的介绍!
https://github.com/facebookresearch/faiss/blob/master/INSTALL.md
faiss快速检索,你值得拥有

之前发过一篇 Faiss cpu 版本安装 – CentOS7 但是由于我是直接在macOS系统上开发,所以较为的不方便,所以就也在macOS系统上弄了一个环境。其实很简单,安装步骤如下:

下载 Faiss源代码

$ git clone https://github.com/facebookresearch/faiss.git

当然大家如果想更清楚的看清目录结构的话,也可以上github上进行查看:

https://github.com/facebookresearch/faiss

安装编译需要的工具

其实这两部分需要安装的,都在之后需要编译的文件中有说明:

$ brew install llvm 
$ brew install swig

将需要编译的文件拷贝到faiss目录

那么这里 m a k e f i l e . i n c makefile.inc makefile.inc就是我们需要编译的文件了,所有的配置都在里面:

$ cd faiss
$ cp example_makefiles/makefile.inc.Mac.brew makefile.inc

编译

(可能会报:warning,但是不用管)

$ make all

执行测试用例

#需要手工指定动态库的搜索路径,否则会提示“dyld: Library not loaded: @rpath/libomp.dylib”,导致进程无法启动
 
$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/opt/llvm/lib/
$ ./tests/demo_ivfpq_indexing

trouble shooting

如果你也是和我一样,刚升级的系统,那么可能会出现以下报错:

这里写图片描述

那么这个报错的原因主要是因为,macOS系统在升级的时候将 / u s r / l o c a l /usr/local /usr/local 文件夹给删除了,所以说 / u s r / l o c a l / C e l l a r / l l v m / 5.0.0 / i n c l u d e / c + + / v 1 / s t r i n g . h /usr/local/Cellar/llvm/5.0.0/include/c++/v1/string.h /usr/local/Cellar/llvm/5.0.0/include/c++/v1/string.h 文件夹下的 . h .h .h 文件在 / u s r / l o c a l /usr/local /usr/local 中找不到,所以没有办法执行。

解决方法如下:

Mac下有个专门管理开发环境的工具xcode-select,通过它可以下载命令行开发工具(包括gcc等等)。在终端输入:

$ xcode-select --install  

上面命令会去下载安装命令行开发工具,完成之后 / u s r / i n c l u d e /usr/include /usr/include 就出现了。这个工具还可以用于管理 X C o d e XCode XCode多版本,具体见:

$ man xcode-select$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值