CentOS7.9源码安装erlang26没有默认安装JIT模块
原因:因为你系统的 C++ 标准库版本太低,无法满足 Erlang/OTP 26及以上 的编译要求。
1、源码安装前的环境配置
sudo yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
sudo yum install centos-release-scl
sudo yum install devtoolset-9
# 在编译 Erlang 前启用新的环境:
scl enable devtoolset-9 bash
2、源码编译安装erlang26
将版本包下载到对应目录(/usr/local)后使用以下命令
tar -xvf otp_src_26.2.5.12.tar.gz
cd /usr/local/otp_src_26.2.5.12
./configure --enable-jit --enable-shared-zlib --without-javac --prefix=/usr/local/erlang/erl26
make clean
make && make install
安装时注意是否安装了JIT模块。
如果是其他依赖项缺少的情况可以尝试使用
yum install -y dnf
dnf groupinstall -y "Development Tools"
验证结果:
erl
Erlang/OTP 26 [erts-14.2.5.10] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]Eshell V14.2.5.10 (press Ctrl+G to abort, type help(). for help)
1> erlang:system_info(emu_flavor).
jit
编译完成后,如果想退出 devtoolset 环境,直接 exit 或者关闭当前终端即可。以后每次需要编译这个版本的 Erlang,记得先用 scl enable devtoolset-9 bash 进入环境。