环境准备
准备软件包
在进行客户端及服务端的安装之前,需要在编译机上进行Ceph编译,以得到用于客户端安装的client adapter rpm包和服务端安装的cephlib.tar.gz。在进行编译机的编译前,需要准备以下软件包:
- Ceph源码包:ceph-14.2.8.tar.gz
- patch包:ceph-global-cache.patch、ceph-global-cache-tls.patch、globalcache-ceph-adaptor-spec.patch
- adapter编译依赖闭源包:boostkit-globalcache-ceph-adaptor-release-1.3.15.oe1.aarch64.rpm (ARM)或
boostkit-globalcache-ceph-adaptor-release-1.3.15.oe1.x86_64.rpm (x86)
编译机分x86和ARM,x86编译机编译的安装包只能给x86节点用,ARM编译机编译的安装包只能给ARM节点用。
配置编译环境
- 配置liboath本地源。
- 下载liboath源码及补丁。
1 2 3 4
yum install git -y git config --global http.sslVerify false cd /root git clone https://gitee.com/src-openeuler/oath-toolkit/tree/openEuler-21.03-20210330
- 通过Yum方式安装RPM打包所需的依赖。
1
yum install wget rpmdevtools gtk-doc pam-devel xmlsec1-devel libtool libtool-ltdl-devel createrepo cmake -y
Yum源为系统默认的公网源,原生系统配置好代理即可执行。
- 创建rpmbuild目录,并将patch文件和源码包移动到“/root/rpmbuild/SOURCES”目录下。
1 2 3 4
rpmdev-setuptree cd /root/oath-toolkit mv 0001-oath-toolkit-2.6.5-lockfile.patch /root/rpmbuild/SOURCES mv oath-toolkit-2.6.5.tar.gz /root/rpmbuild/SOURCES
- 拷贝spec文件到指定的RPM包编译目录。
cp oath-toolkit.spec /root/rpmbuild/SPECS/
- 编译RPM包。
1
rpmbuild -bb /root/rpmbuild/SPECS/oath-toolkit.spec
- 将编译好的RPM包作为本地yum源。
1 2 3
mkdir -p /home/oath cp -r /root/rpmbuild/RPMS/* /home/oath/ cd /home/oath && createrepo .
- 配置repo文件。
1
vi /etc/yum.repos.d/local.repo
文件中加入以下内容:1 2 3 4 5 6
[local-oath] name=local-oath baseurl=file:///home/oath enabled=1 gpgcheck=0 priority=1
- 下载liboath源码及补丁。
- 设置yum证书验证状态为不验证。
1
vi /etc/yum.conf
添加如下内容至末尾:1 2
sslverify=false deltarpm=0
- 配置pip华为代理,提高下载速度。
1 2
mkdir -p ~/.pip vi ~/.pip/pip.conf
添加如下内容:
1 2 3 4
[global] timeout = 120 index-url = https://repo.huaweicloud.com/repository/pypi/simple trusted-host = repo.huaweicloud.com
- 安装编译机Ceph源码编译需要的依赖。
1
yum install java-devel sharutils checkpolicy selinux-policy-devel gperf cryptsetup fuse-devel gperftools-devel libaio-devel libblkid-devel libcurl-devel libudev-devel libxml2-devel libuuid-devel ncurses-devel python-devel valgrind-devel xfsprogs-devel xmlstarlet yasm nss-devel libibverbs-devel openldap-devel CUnit-devel python2-Cython python3-setuptools python-prettytable lttng-ust-devel expat-devel junit boost-random keyutils-libs-devel openssl-devel libcap-ng-devel python-sphinx python2-sphinx python3-sphinx leveldb leveldb-devel snappy snappy-devel lz4 lz4-devel liboath liboath-devel libbabeltrace-devel librabbitmq librabbitmq-devel librdkafka librdkafka-devel libnl3 libnl3-devel rdma-core-devel numactl numactl-devel numactl-libs createrepo openldap-devel rdma-core-devel lz4-devel expat-devel lttng-ust-devel libbabeltrace-devel python3-Cython python2-Cython gperftools-devel bc dnf-plugins-core librabbitmq-devel rpm-build java-1.8.0-openjdk-devel python3-devel -y
- 在“/home”目录重新生成RPMbuild目录。
- 修改“.rpmmacros”文件。
1
vi /root/.rpmmacros
修改“%_topdir”的路径为“/home/rpmbuild”。
- 再次执行rpmbuild安装命令。
1
rpmdev-setuptree
- 修改“.rpmmacros”文件。
父主题: 软件编译