编译环境
os:ubuntu22.04.6 live-server,x64
gcc:9.4.0
cmake:3.24.0
go:1.18.10
milvus: v2.3.2
操作系统建议使用ubuntu。在centos7上未编译成功。
在root账户下操作。
安装gcc
因为后面需要安装cmake,因此先安装如下依赖:
代码语言:shell复制apt install g gcc make libssl-dev
添加i386架构的支持。这个命令通常在需要安装32位软件包时使用。后面安装依赖需要这个。
代码语言:shell复制dpkg --add-architecture i386
apt-get update
安装cmake
下载路径:
代码语言:text复制https://codeload.github.com/Kitware/CMake/zip/refs/tags/v3.24.0
下载后进行安装:
代码语言:shell复制unzip CMake-3.24.0.zip
cd CMake-3.24.0/
./configure
make -j4 #-j4代表开启4个并发进行编译
make install
//查看版本
cmake --version
cmake version 3.24.0
安装OpenBLAS
BLAS(Basic Linear Algebra Subprograms 基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法),OpenBLAS是BLAS标准的一种具体实现。
OpenBLAS被应用于科学计算、数据分析、深度学习算法、人工智能等领域。
下载milvus源码:
代码语言:text复制https://github.com/milvus-io/milvus/archive/refs/tags/v2.3.2.zip
源码包拷贝至/mnt目录
代码语言:shell复制cd /mnt
unzip milvus-2.3.2.zip
脚本会使用wget去国外站点下载一些软件包,由于国外访问比较慢,解决这个问题,可以配置代理。
设置环境变量:
代码语言:shell复制export http_proxy="http://192.168.230.10:1080"
export https_proxy="http://192.168.230.10:1080"
这2个环境变量针对wget,curl,cmake,yum均适用。
执行脚本的时候还会去github下载源码,因此还需要配置一下git的代理:
代码语言:shell复制git config --global http.proxy http://192.168.230.10:1080
git config --global https.proxy http://192.168.230.10:1080
git config --list
执行脚本install_deps_embd.sh(OpenBLAS):
由于是用root用户执行,无需sudo,去掉脚本里的sudo。
代码语言:shell复制. scripts/install_deps_embd.sh
这个阶段执行会比较耗时。
安装其它依赖
执行install_deps.sh脚本,执行之前也去掉sudo。
代码语言:shell复制. scripts/install_deps.sh
这个脚本执行耗时不长。
源码编译
前面的准备工作都已经完成,现在开始进行源码编译。
代码语言:shell复制make milvus
这个阶段会耗时很长。
执行完成后会产生一个二进制文件:
代码语言:shell复制bin/milvus
产生的库文件位置:
代码语言:shell复制internal/core/output/lib
至此milvus的源码编译完成。