在Big Sur上使用Perlbrew安装Perl时出错 [英] Error installing perl using perlbrew on Big Sur

查看:81
本文介绍了在Big Sur上使用Perlbrew安装Perl时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用perlbrew在我的macOS环境中安装perl版本5.33.4.我无法理解为什么安装期间会失败.

我开始使用 \ curl -L https://install.perlbrew.pl安装perlbrew.bash ,然后我在zshenv中添加了这一行: source〜/perl5/perlbrew/etc/bashrc ,并开始使用 perlbrew install perl-5.33.4 命令.我也尝试过不同的 perl 版本,但问题是一样的.

这是记录的错误:

 #测试20失败-数组应包含一个或多个结果:libc =>()在t/DynaLoader.t第127行#得到了"0";#预期> ="1"../ext/DynaLoader/t/DynaLoader.t .....................................失败的1/44次测试测试总结报告-------------------../ext/DynaLoader/t/DynaLoader.t(Wstat:0测试:44失败:1)测试失败:20文件= 2652,测试= 1183275、624挂钟秒(25.86 usr 5.24 sys + 260.60 cusr 25.43 csys = 317.13 CPU)结果:失败make:*** [test_harness]错误1##### Brew失败##### 

我如何找到检测问题并解决问题的方法?预先感谢您的任何建议.

解决方案

macOS Big Sur中的更改破坏了Perl模块安装工具链的一部分.

来自 macOS Big Sur11.0.1发行说明

macOS Big Sur 11.0.1中的新增功能,该系统附带了一个内置的动态链接程序缓存,其中包含所有系统提供的库.作为此更改的一部分,文件系统上不再存在动态库的副本.试图通过在路径中查找文件或枚举目录来检查动态库是否存在的代码将失败.而是尝试通过dlopen()路径检查库是否存在,这将正确检查高速缓存中的库.(62986286)

这阻止了Perl的安装.

针对ExtUtils-MakeMaker提交了一张罚单(#381)这里.目前尚未解决.

已针对Perl本身提交了一张票证(#18406),此处./p>

I'm trying to install perl version 5.33.4 in my macOS environment using perlbrew. I cannot comprehend why it fails during installation.

I started installing perlbrew using \curl -L https://install.perlbrew.pl | bash, then I added in my zshenv this line: source ~/perl5/perlbrew/etc/bashrc and started installing perl with perlbrew install perl-5.33.4 command. I tried also with different perl versions, but the problem is the same.

This is the logged error:

# Failed test 20 - array should contain one result or more: libc => () at t/DynaLoader.t line 127
#      got "0"
# expected >= "1"
../ext/DynaLoader/t/DynaLoader.t ..................................... 
Failed 1/44 subtests 


Test Summary Report
-------------------
../ext/DynaLoader/t/DynaLoader.t                                   (Wstat: 0 Tests: 44 Failed: 1)
  Failed test:  20
Files=2652, Tests=1183275, 624 wallclock secs (25.86 usr  5.24 sys + 260.60 cusr 25.43 csys = 317.13 CPU)
Result: FAIL
make: *** [test_harness] Error 1
##### Brew Failed #####

How can I find a way to detect the problem and solve it? Thanks in advance to any suggestion.

解决方案

A change in macOS Big Sur has broken part of Perl's module-installing tool chain.

From the macOS Big Sur 11.0.1 Release Notes

New in macOS Big Sur 11.0.1, the system ships with a built-in dynamic linker cache of all system-provided libraries. As part of this change, copies of dynamic libraries are no longer present on the filesystem. Code that attempts to check for dynamic library presence by looking for a file at a path or enumerating a directory will fail. Instead, check for library presence by attempting to dlopen() the path, which will correctly check for the library in the cache. (62986286)

This is preventing Perl from being installed.

A ticket (#381) has been filed against ExtUtils-MakeMaker here. It is currently unresolved.

A ticket (#18406) has been filed against Perl itself here.

这篇关于在Big Sur上使用Perlbrew安装Perl时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆