1.yum安装一些必要的依赖
yum -y install xz ant zlib zlib-devel cyrus-sasl-devel openssl-devel fuse snappy snappy-devel libzstd libzstd-devel bzip2 bzip2-devel yasm yasm-devel java-1.8.0
2. 安装maven:
2.1 下载maven包:https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
上传到机器上,新建目录
mkdir -p /opt/software
将tar包放到此目录下,解压:
tar zxvf apache-maven-3.3.9-bin.tar.gz
bin目录下执行验证:
./mvn -v
3. 安装gcc7.3.1:
3.1
yum -y install gcc libtool gcc-c++
3.2 下载包
gcc-7.3.0.tar.xz
http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-7.3.0/gcc-7.3.0.tar.xz
gmp-6.1.0.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
mpc-1.0.3.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
mpfr-3.1.4.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
3.3 将所有包上传到机器上,/opt/software目录下解压:
xz -d gcc-7.3.0.tar.xz
tar -xvf gcc-7.3.0.tar
bzip2 -d gmp-6.1.0.tar.bz2
bzip2 -d mpfr-3.1.4.tar.bz2
将依赖包拷到gcc目录下解压:
cp gmp-6.1.0.tar mpc-1.0.3.tar.gz mpfr-3.1.4.tar gcc-7.3.0/
tar zxvf mpc-1.0.3.tar.gz
tar -xvf mpfr-3.1.4.tar
tar -xvf gmp-6.1.0.tar
配置软连接
ln -s gmp-6.1.0 gmp
ln -s mpfr-3.1.4 mpfr
ln -s mpc-1.0.3 mpc
3.4 编译安装
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install
3.5 验证
gcc -v
3.6 需要替换老版本的动态库
检查动态库:strings /usr/lib64/libstdc++.so.6 | grep GLIBC
查找编译gcc时生成的最新动态库:find / -name "libstdc++.so*"
将上面的最新动态库libstdc++.so.6.0.21复制到/usr/lib64目录下:
cp /opt/software/gcc-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64
重建默认库的软连接:
切换工作目录至/usr/lib64:cd /usr/lib64
删除旧的软连接:rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:ln -s libstdc++.so.6.0.24 libstdc++.so.6
重新检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
4. 安装cmake:
4.1 获取包
wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
4.2 解压、安装、校验
tar zxvf cmake-3.3.2.tar.gz
cd cmake-3.3.2
./bootstrap
gmake
make install
cmake --version
5.安装protobuf 2.5.0 (只能是这个版本)
5.1 下载包 protobuf-2.5.0.tar.gz
https://github.com/protocolbuffers/protobuf/releases/tag/v2.5.0
5.2 解压、安装
tar zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make
make check
make install
6. 打包命令:
mvn clean package -Pdist,native -DskipTests -Drequire.snappy -Dsnappy.lib=/usr/lib64 -Dbundle.snappy -Drequire.isal -Disal.lib=/usr/lib64 -Dbundle.isal -Drequire.zstd -Dzstd.lib=/usr/lib64 -Dbundle.zstd -Drequire.openssl -Dopenssl.lib=/usr/lib64 -Dbundle.openssl -Drequire.bzip2 -Dmaven.javadoc.skip=true -Dtar
注意:【内存不够:export MAVEN_OPTS=-Xmx512m】