nginx: /lib64/libcrypt.so.1: version `XCRYPT_2.0' not found
1.报错信息
[root@ba6649b3a783 sbin]# ./nginx --t ./nginx: /lib64/libcrypt.so.1: version `XCRYPT_2.0' not found (required by ./nginx) ./nginx: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by ./nginx) ./nginx: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by ./nginx) ./nginx: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by ./nginx)
2.报错原因说明
- 这些错误表明 Nginx 可执行文件链接到了一个或多个系统库,而这些库的版本与当前系统不兼容。主要的问题在于缺少所需的 GLIBC 版本。
- 解决此问题的方法之一是在构建 Nginx 时静态链接所需的库,以便 Nginx 可以独立于系统中的库版本运行。这样做可以确保 Nginx 在不同的系统上都能正常工作,而不受系统库版本的影响。
- 我们可以使用 configure 脚本的 --with-ld-opt 参数,将 -static 添加到链接选项中,以静态链接所需的库。
3.解决方法
./configure --prefix=/data/service/nginx \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-http_ssl_module \ --with-http_mp4_module \ --with-stream \ --with-http_realip_module \ --with-http_v2_module \ --with-http_sub_module \ --with-ld-opt='-static' #增加一条配置
4.其他正常编译