Ubuntu升级后出现loadable library and perl binaries不匹配错误如何解决
报错原因
该错误由Ubuntu跨版本升级后Perl版本迭代导致:18.04系统下预编译/手动编译的Perl CFITSIO绑定模块,和20.04自带的新版Perl二进制接口不兼容,因此触发握手密钥不匹配的提示。
修复方案
优先修复系统级安装的CFITSIO Perl模块
先同步系统包索引,再重装系统源内适配20.04 Perl版本的CFITSIO绑定包:sudo apt update sudo apt reinstall -y libastro-fits-cfitsio-perl手动CPAN安装的模块修复
如果之前是通过CPAN工具手动安装的CFITSIO模块,执行以下命令重新编译安装适配新版Perl的版本:sudo cpan Astro::FITS::CFITSIO
执行过程中按照默认提示确认即可完成编译。自定义Perl环境修复
如果你使用perlbrew、plenv等工具管理独立的Perl版本,切换到对应版本后重新编译安装CFITSIO模块即可,无需修改系统级包。
验证方式
执行之前触发报错的命令,没有loadable library and perl binaries are mismatched相关提示即为修复成功。
通用排查思路
如果后续出现其他Perl模块的同类报错,都可以按照相同逻辑处理:优先重装系统源对应的Perl模块包,非系统源安装的模块重新走编译流程即可适配新版Perl。
内容的提问来源于stack exchange,提问作者Shyam Prakash V P
相关产品推荐
相关产品推荐

