问题描述:
环境使用龙芯服务器+麒麟V10操作系统,在官网下载vdbench后直接运行报共享库无法支持,因此需要重新编译共享库文件。
解决方案:
1、重新在oracle官网下载vdbench的开源代码包
2、在运行客户端安装jdk
3、重新执行编译linux64.so,并替换vdbench中原有linux64.so
具体步骤:
1、客户端安装jdk和gcc相关rpm包,用于编译和运行vdbench
建议使用yum源安装,这样可以一并完成必须包的安装,避免了查找依赖关系和必要包。
2、下载vdbench源码压缩包,本次下载使用的源码和二进制包版本是vdbench50407。
Vdbench Source Code Downloads (oracle.com)
3、将源码包上传至客户端,并解压至选定目录
4、修改make.linux文件中内容
1)、vdbench解压目录路径: /root/zheng/vdbench
2)、查看java路径并修改: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-8.1.11.1.a.ky10.loongarch64/
该java路劲的目的是为了寻找jni.h编译头文件,所以注意不要写错。
3)、删除脚本中-m32和-m64参数:gcc命令不支持该参数
如下是修改后的脚本内容:
5、执行make.linux,会在解压目录($vdb路径)下自动生成一个linux文件夹,里面有linux64.so和linux32.so文件
6、将步骤5中生成的共享库文件替换vdbench二进制包下linux目录里面的共享库文件,本次系统为64bit,因此只需要替换linux64.so
7、再次执行vdbench测试命令,可以正常运行。
注意事项:
1、编译过程中如果报错找不到jni.h文件,需要检查jdk的安装,确保系统中已经存在对应的头文件。
yum install java-1.8.0-openjdk-devel.loongarch64
2、重新编译后的linux64.so对java的版本有依赖关系,尽量保证运行客户端的jdk版本与编译客户端的jdk版本一致。