FreeBSD /lib/libc.so.7:未找到版本 FBSD_1.4

FreeBSD /lib/libc.so.7:未找到版本 FBSD_1.4

我所做的就是使用 ack 运行一个简单的 find 命令

$ 确认内容

并收到以下消息

/lib/libc.so.7: 未找到 /usr/local/lib/perl5/5.24/mach/CORE/libperl.so.5.24 所需的版本 FBSD_1.4

有什么想法导致这种情况吗?系统上没有任何改变?

答案1

看起来 perl5 软件包需要比系统正在使用的 C 库更新的版本。如果

  • 您的系统已更新(没有待处理的软件包更新)
  • 您只使用官方的 FreeBSD 软件包存储库,不使用第三方存储库
  • 您的系统上没有任何自定义第三方软件安装程序,这些安装程序可能会将 perl 副本放入/usr/lib/perl5
  • 您已安装perl5ack-grep通过官方端口存储库

您是如何安装ack-grepperl 的?如果您没有从 FreeBSD 软件包存储库 (ports) 安装 perl5 或 ack-grep,那么这可能是您的问题。

您可以尝试针对您的操作系统从源代码重新编译 perl5。./configure脚本和链接器将找出如何使用您现有的 C 库来/lib干净地链接它而不会出现错误(假设编译成功)。或者尝试卸载或重新安装 perl5。

还要测试系统中的其他几个程序,确保它们不会遇到相同的问题!如果这是所有非内置命令(如vi、、、、、等)的系统范围问题——如果许多或大多数程序都出现bash这种zsh情况,则您的 C 库可能已被覆盖或损坏(可能是病毒、意外或软件/硬件错误/故障)。如果是这种情况,您可能必须将另一个 FreeBSD 系统中的可运行的 libc 复制到此系统(带外)以修复损坏,因为损坏的 libc 将nanopkg真的以维修的方式限制您使用计算机进行任何有用操作的能力。

相关内容