milvus源码编译

简介: milvus源码编译

编译环境

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,因此先安装如下依赖:

apt install g++ gcc make libssl-dev

添加i386架构的支持。这个命令通常在需要安装32位软件包时使用。后面安装依赖需要这个。

dpkg --add-architecture i386
apt-get update

安装cmake

下载路径:

https://codeload.github.com/Kitware/CMake/zip/refs/tags/v3.24.0

下载后进行安装:

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源码:

https://github.com/milvus-io/milvus/archive/refs/tags/v2.3.2.zip

源码包拷贝至/mnt目录

cd /mnt
unzip milvus-2.3.2.zip

脚本会使用wget去国外站点下载一些软件包,由于国外访问比较慢,解决这个问题,可以配置代理。
设置环境变量:

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的代理:

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。
111.png

. scripts/install_deps_embd.sh

这个阶段执行会比较耗时。

安装其它依赖

执行install_deps.sh脚本,执行之前也去掉sudo。
222.png

. scripts/install_deps.sh

这个脚本执行耗时不长。

源码编译

前面的准备工作都已经完成,现在开始进行源码编译。

make milvus

这个阶段会耗时很长。
执行完成后会产生一个二进制文件:

bin/milvus

产生的库文件位置:

internal/core/output/lib

至此milvus的源码编译完成。

目录
相关文章
|
5月前
|
Java 数据安全/隐私保护
IoTDB服务安装教程-集群版
IoTDB服务安装教程-集群版
195 0
|
5月前
|
SQL 安全 Java
IoTDB服务安装教程-单机版
IoTDB服务安装教程-单机版
113 0
|
6月前
|
存储 Linux 数据安全/隐私保护
安装部署milvus单机版(快速体验)
安装部署milvus单机版(快速体验)
960 0
|
JSON 编解码 人工智能
labelme 安装使用及常见问题汇总
labelme批量使用、安装、问题解决 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xff in position 0 module 'labelme.utils' has no attribute 'draw_label' Polygon must have points more than 2 ModuleNotFoundError: No module named 'skimage' Inconsistent use of tabs and s
labelme 安装使用及常见问题汇总
|
JSON Java Linux
07-PDI(Kettle)源码编译8.2.0.0.R版本
文章目录 07-PDI(Kettle)源码编译8.2.0.0.R版本 1.安装PDI8.2.0.0.R的parent工程到本地 1.1配置Maven的settings.xml文件 1.2安装PDI源码依赖的parent工程到本地仓库
07-PDI(Kettle)源码编译8.2.0.0.R版本
|
缓存 Ubuntu Java
Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略
Tool之Bazel:Bazel的简介、安装、使用方法之详细攻略
|
27天前
|
机器学习/深度学习 并行计算 编译器
MXNet安装教程:详细步骤与常见问题解析
【4月更文挑战第12天】本文详细介绍了MXNet深度学习框架的安装步骤,包括Python、conda和R用户的安装方法,以及GPU支持的选项。在安装过程中可能遇到网络问题、依赖冲突和GPU支持问题等,文中给出了相应解决策略。安装后,通过简单的代码示例验证MXNet是否正常工作,从而顺利完成本地环境搭建。
43 7
|
29天前
|
Java Linux DataX
DataX入门指南:快速部署和安装指南
DataX入门指南:快速部署和安装指南
176 2
DataX入门指南:快速部署和安装指南
|
4月前
|
自然语言处理 数据可视化 算法
史上最详细Docker安装Elasticsearch、ik分词器、可视化工具,每一步都带有步骤图!!!
史上最详细Docker安装Elasticsearch、ik分词器、可视化工具,每一步都带有步骤图!!!
414 0
史上最详细Docker安装Elasticsearch、ik分词器、可视化工具,每一步都带有步骤图!!!
|
5月前
|
算法 Docker Python
Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
61 0