1.下载wildfly-openssl-1.0.4.Final源码,并解压。
wget https://github.com/wildfly/wildfly-openssl/archive/1.0.4.Final.tar.gz
tar -zxf wildfly-openssl-1.0.4.Final.tar.gz
2.执行编译安装。
cd wildfly-openssl-1.0.4.Final
mvn install -DskipTests=true -Dmaven.javadoc.skip=true
3.编译完成后,发现jar包中还是没有arm的so,需要参考第7章Question2修改源码,重新编译。
问题一:编译wildfly-openssl-1.0.4.Final.jar时报错
问题现象
编译wildfly-openssl-1.0.4.Final.jar时报错:
../libwfssl/include/wfssl.h:41:17: fatal error: jni.h: No such file or directory
可能原因
在../libwfssl/include/下未找到名为jni.h的头文件,该类头文件是java自带的.h文件。
处理步骤
执行find命令全局搜索将java相关路径下的.h文件复制到对应的./libwfssl/include/目录下,重新编译即可。
类似的报错问题皆可尝试用该种方法解决。
问题二:编译wildfly-openssl-1.0.4.Final.jar后未生成ARM化jar包
问题现象
编译wildfly-openssl-1.0.4.Final.jar后未生成ARM化jar包。
可能原因
源码中的pom.xml文件中未定义linux-aarch64模块需自己手动定义。
处理步骤
按照解压后的目录格式创建linux-aarch64目录。如下图所示:
cd /xxx/xxx/wildfly-openssl-1.0.4.Final
mkdir linux-aarch6
将linux-x86_64下的Makefile和pom.xml文件复制到创建的linux-aarch64目录下。如下图所示:
编辑./pom.xml、./combined/pom.xml、./java/pom.xml、./linux-aarch64/pom.xml和./linux-aarch64/Makefile文件,修改或增加相关内容。
- vim ./combined/pom.xml
- vim ./combined/pom.xml
- vim ./java/pom.xml
- vim ./linux-aarch64/pom.xml
- vim ./linux-aarch64/Makefile
- vim ./pom.xml
重新执行编译命令。
查看编译结果。