编译开源代码包
在“/home/server”下新建临时adaptorlib目录编译libosa和libproxy。libosa部署在服务端,libproxy需要同时部署在服务端和客户端,根据客户端节点类型准备编译服务器类型。
- 新建“adaptorlib”目录。
1
mkdir -p /home/server/adaptorlib
- 获取源码置于“/home/server/adaptorlib”目录下。
1 2
cd /home/server/adaptorlib git clone https://gitee.com/kunpengcompute/global-cache-adaptor.git
- 编译adaptorlib。
1 2 3
cd global-cache-adaptor export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/opt/gcache_adaptor_compile/third_part/inc/" sh build.sh
编译adaptorlib之前,需确保已编译Ceph源码包:ceph-14.2.8.tar.gz,并安装闭源RPM包: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)。缺少boost头文件需要将/home/ceph-14.2.8/src/boost/boost文件夹拷贝至/usr/include下。其中X86编译机编译的so只能供x86服务器使用,ARM编译机编译的so只能供ARM服务器使用。
- 新建“/home/server/adaptorlib/glz”目录
mkdir -p /home/server/adaptorlib/glz
- 获取BoostKit-glz_1.0.2.zip和zstd-1.4.5源码置于“/home/server/adaptorlib/glz”目录下。
cd /home/server/adaptorlib/glz chmod 700 BoostKit-glz_1.0.2.zip unzip BoostKit-glz_1.0.2.zip unzip zstd-1.4.5.zip
- 获得的安装包和构建依赖项共同编译出动态库,以下为编译动态库实例(供参考),将“Makefile”文件下载至路径“/home/server/adaptorlib/glz”目录。
1 2 3
wget https://github.com/kunpengcompute/kps/releases/download/glz/Makefile --no-check-certificate make cp libglz.so /home/server/adaptorlib/global-cache-adaptor/build/lib
如有安全需求,请自行注意安全编译选项。
- 打包adaptorlib,生成globalcache-adaptorlib-release-oe1.aarch64.tar.gz,后续用于服务端安装开源代码包
1 2
cd /home/server/adaptorlib/global-cache-adaptor/package sh globalcache-adaptorlib_pack.sh
父主题: 软件编译