编译和安装UCX包
编译和部署UCX开源软件包,主要包括编译并构建出编译Ceph时需要依赖的UCX RPM包。
- 获取UCX开源软件包。
获取路径请参见表2。
- 定义RPM包编译路径。
- 打开/root/.rpmmacros文件。
vi /root/.rpmmacros
- 按“i”进入编辑模式,将%_topdir路径设置为编译RPM包的路径(本例中以新建路径“/root/rpmbuild”为例),并将其他行的内容全部注释掉。
%_topdir /root/rpmbuild
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 创建rpmbuild下的构建目录。
rpmdev-setuptree
- 打开/root/.rpmmacros文件。
- 安装UCX RPM包。
1
rpm -ivh ucx-1.14.1-1.el7.src.rpm
- 为了解决UCX在容器中部署存在的报错问题,需要修改一行代码。参考下方的代码完成修改。
1 2 3
cd /root/rpmbuild/SOURCES/ tar -zxvf ucx-1.14.1.tar.gz vim ucx-1.14.1/src/ucs/sys/sys.c
在1560行新增如下内容。
pid = getpid()
对该文件进行打包。
rm -rf ucx-1.14.1.tar.gz tar zcvf ucx-1.14.1.tar.gz ucx-1.14.1
- 编译并构建RPM包。在RPM编译路径下,编译并构建ucx.spec文件,生成RPM包。
cd /root/rpmbuild/SPECS rpmbuild -bb ucx.spec
编译完成后在“/root/rpmbuild/RPMS/aarch64”目录会生成如下图所示的8个RPM包。
- 取出RPM包并安装。
mkdir -p /home/local_rpm/ cp /root/rpmbuild/RPMS/aarch64/ucx* /home/local_rpm/ cd /home/local_rpm/
1 2 3 4 5 6 7 8
rpm -ivh ucx-1.14.1-1.aarch64.rpm rpm -ivh ucx-cma-1.14.1-1.aarch64.rpm rpm -ivh ucx-debuginfo-1.14.1-1.aarch64.rpm rpm -ivh ucx-debugsource-1.14.1-1.aarch64.rpm rpm -ivh ucx-devel-1.14.1-1.aarch64.rpm rpm -ivh ucx-ib-1.14.1-1.aarch64.rpm rpm -ivh ucx-rdmacm-1.14.1-1.aarch64.rpm rpm -ivh ucx-static-1.14.1-1.aarch64.rpm
父主题: 在编译容器中编译UCX和Ceph软件包