Ubuntu18.04 上用pyinstaller生成的python的可执行程序在Uubuntu16.04上跑不起来

报错信息:

Original error was: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/_MEI9GSQ3P/libgfortran.so.4

排错思路:

1.提示缺少 GLIBC_2.27 所以那就安装一个呗,然后就去(http://ftp.gnu.org/gnu/libc/)下载源码包,然后解压安装一下,执行如下脚本:

#!/bin/bash
set -eux; \
wget http://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gz \ 
&& tar -xvzf glibc-2.27.tar.gz \ 
&& cd /glibc-2.27 \ 
&& mkdir build \ 
&& cd build \ 
&& ../configure --prefix=/opt/glibc-2.27 \ 
&& make -j4 \ && make install \ 
&& make clean \ && cd ../.. \ 
&& rm -fr glibc-2.27 \ 
&& rm -f glibc-2.27.tar.gz

安装完成之后,发现依然有这个问题

查了一些资料之后发现,问题应该出在/lib/x86_64-linux-gnu/libm.so.6 这个系统文件上

 使用命令 strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_ 可以查看 /lib/x86_64-linux-gnu/libm.so.6 这个文件支持的glibc的版本。发现当前并不支持 GLIBC_2.27 ,当前的系统是ubuntu server16.04.

Ubuntu18.04 上用pyinstaller生成的python的可执行程序在Uubuntu16.04上跑不起来_第1张图片

然后我换了一个ubuntu server18.04 系统,执行 strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_  查看了该系统支持的GLIBC_ 版本,发现18.04 支持GLIBC_2.27 于是,将系统换成了18.04 解决了这个问题
Ubuntu18.04 上用pyinstaller生成的python的可执行程序在Uubuntu16.04上跑不起来_第2张图片

 总结:在ubuntu server 16.04 里面不支持 GLIBC_2.27 将系统换成 ubuntu server 18.04 然后重新安装 GLIBC_2.27 即可

转自:https://blog.csdn.net/u012999810/article/details/88999081

你可能感兴趣的:(Python编程)