编译安装netty-tcnative-parent-1.1.33..Fork17
1.下载netty-tcnative-parent-1.1.33..Fork17源码。
wget https://github.com/netty/netty-tcnative/archive/netty-tcnative-1.1.33.Fork17.tar.gz
2.解压源码包。
tar -zxvf netty-tcnative-1.1.33.Fork17.tar.gz
cd netty-tcnative-netty-tcnative-1.1.33.Fork17
修改pom.xml,屏蔽boringssl的编译。
mvn insyall
修改“pom.xml”,注释掉该文件中两处下载apr-1.5.2的部分。
vim pom.xml
3.安装apr
下载apr tar包上传到系统。
下载地址:
http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
#tar -xvzf apr-1.5.2.tar.gz // 解压apr-1.5.2.tar.gz #cd apr-1.5.2 // 进入apr-1.5.2目录 #./configure —prefix=/usr/local/apr // 指定安装到/usr/local/apr目录 #make install
cp /root/lixiaolong/jarpakage/phoenix_jar/netty-all-4.1.17/apr-1.5.2.tar.gz openssl-static/target/
mvn install
长时间卡住
4.修改“openssl-static/pom.xml”,注释掉该文件中2处下载openssl-1.0.2l的部分。
5.下载openssl-1.0.2l,放置于以下位置。(没有target目录时先进行mvn install)
wget https://ftp.openssl.org/source/old/1.0.2/openssl-1.0.2h.tar.gz
mv openssl-1.0.2h.tar.gz netty-tcnative-netty-tcnative-1.1.33.Fork17/openssl-static/target
mvn编译,此处没报错,如果报错参考后面
6.修改“libressl-static/pom.xml”,注释掉该文件中1处下载libressl-2.5.5的部分(有2处)
7.下载libressl-2.5.5,放置于以下位置。(没有target目录时先进行mvn install)
wget http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.5.tar.gz
mv libressl-2.5.5.tar.gz netty-tcnative-netty-tcnative-parent-2.0.6.Final/libressl-static/target
8.进入解压后目录。
cd netty-tcnative-netty-tcnative-parent-2.0.7.Final
9.编译打包到maven本地仓库。
mvn install
cp apr-1.6.3.tar.gz ../../libressl-static/target/
10.重新编译
mvn install
11.编译安装netty-4.1.17源码
下载netty-4.1.17源码。
wget https://github.com/netty/netty/archive/netty-4.1.17.Final.tar.gz
wget https://github.com/netty/netty/archive/netty-4.0.37.Final.tar.gz
解压源码包。
tar -zxvf netty-4.1.17.Final.tar.gz
进入解压后目录。
cd netty-netty-4.1.17.Final
修改“pom.xml”,注释以下代码
编译
mvn package -DskipTests
编译过程中找不到linux-aarch_64-fedora.2.0.7.Final.jar的报错。
修改pom.xml文件,注释fedora,重新执行命令编译。
mvn package -DskipTests
编译生成jar包,netty-all-4.1.17.Final.jar在all/target目录,netty-transport-native-epoll-4.1.17.Final.jar、netty-transport-native-epoll-4.1.17.Final-linux-aarch64_64.jar在transport-native-epoll/target目录。