之前安装rabbitmq的时候需要安装erlang,第一次(其实第一次需要匹配系统版本、rabbitmq版本和erlang版本,这个才是最大头的,建议去看看官网的适配文档)糊里糊涂erlang就能正常跑了,今天第二次想要继续用的时候就报错了:
/usr/lib64/erlang/erts-11.2.2.15/bin/beam.smp: /lib64/libz.so.1: version `ZLIB_1.2.7.1' not found (required by /usr/lib64/erlang/erts-11.2.2.15/bin/beam.smp)
这是问题是因为zlib版本问题,之前grep啥啥啥的找库啥的乱七八糟搞了一大堆,最终还是选择简单粗暴升级了。
去官网下载最新的zlib库,官网地址:zlib Home Site
选择最新版本下载,解压
tar -zxvf zlib-1.2.13.tar.gz
解压完了应该会生成zlib-1.2.13目录,进入此目录,然后经典make环节
[root@user erl]# ls
zlib-1.2.13 zlib-1.2.13.tar.gz
[root@user erl]# cd zlib-1.2.13
[root@user zlib-1.2.13]# ./configure
[root@user zlib-1.2.13]# make
[root@user zlib-1.2.13]# ls
... libz.so.1.2.13 ...
确认编译完成,然后将此(libz.so.1.2.13)文件转移至/usr/lib64/下(32的机器应该是在/usr/lib下)
[root@user zlib-1.2.13]# mv libz-1.2.13 /usr/lib64/
[root@user zlib-1.2.13]# rm -rf libz.so.1(删除原来的软链,我机器上这个文件原来链接在libz-1.2.7上)
[root@user zlib-1.2.13]# ln -s /usr/lib64/libz.so.1 /usr/lib64/libz-1.2.13
然后调用erl,正常运行,问题解决
记录一下