【问题标题】:Perl: installing with Perlbrew on Macos SierraPerl:在 Macos Sierra 上使用 Perlbrew 安装
【发布时间】:2017-01-26 16:05:23
【问题描述】:

我正在尝试使用最新版本的 Perlbrew 在运行 macOS-Sierra 的计算机上安装具有多线程的最新稳定版 Perl (5.24.1)。

Perlbrew 似乎安​​装正确,但是当我运行命令时:

Perlbrew install perl-5.24.1 --thread or
perlbrew install stable --thread

安装继续,但随后失败并显示以下消息

Installation process failed. To spot any issues, check

  /Users/alan/perl5/perlbrew/build.perl-5.24.1.log

If some perl tests failed and you still want to install this distribution anyway,
do:

  (cd /Users/alan/perl5/perlbrew/build/perl-5.24.1; make install)

You might also want to try upgrading patchperl before trying again:

按照上面的建议查看日志文件,我在文件末尾发现以下错误消息:

1 error generated.
make[1]: *** [HiRes.o] Error 1
cc -c   -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack- protector-strong -I/usr/local/include -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wthread-safety -O3 -DVERSION=\"1.9733\" -DXS_VERSION=\"1.9733\"  "-I../.."  -DTIME_HIRES_NANOSLEEP -DTIME_HIRES_CLOCK_GETTIME -DTIME_HIRES_CLOCK_GETRES -DTIME_HIRES_CLOCK_NANOSLEEP -DTIME_HIRES_CLOCK -DTIME_HIRES_STAT=1 -DATLEASTFIVEOHOHFIVE HiRes.c
HiRes.xs:945:15: error: use of undeclared identifier 'darwin_time_mutex'
MUTEX_INIT(&darwin_time_mutex);
          ^
1 error generated.
make[1]: *** [HiRes.o] Error 1
Unsuccessful make(dist/Time-HiRes): code=512 at make_ext.pl line 569.
make: *** [lib/auto/Time/HiRes/HiRes.bundle] Error 25
##### Brew Failed #####"

在日志文件的其他位置,以下消息也多次出现(虽然我不知道这与失败的安装过程有多大关系):

ld: warning: object file (xxxxxxxx) was built for newer OSX version (10.12) than being linked (10.4)

我在网上搜索了类似的问题,但没有找到任何相关的东西。因此,我想知道这是否是 Perlbrew 和 Sierra 的一般问题,或者它是否特定于我的设置。

显然我是 Perl 编程和编程的初学者,所以请尽可能简单地回答任何问题

感谢您的帮助

【问题讨论】:

    标签: perl macos-sierra perlbrew


    【解决方案1】:

    你不是唯一一个:这是一个错误。见Bug #128972 for perl5: Build failure on OS X 10.12 Sierra

    似乎已经解决了 5.26.0 的错误,但还没有(还)向后移植到 5.24.2 和 5.22.4。

    您可以尝试使用最先进的版本(但这很可能还有其他问题):

    perlbrew install perl-blead
    

    【讨论】:

    • 虽然这在技术上是正确的,但还没有 5.26.0。目前最新的开发版本是 5.25.9。我们不知道该补丁是否会在 5.26.0 中仍然存在。
    • 抱歉,我输入了一些错误。据我所知,它应该在 5.24.2 中修复
    • 在 blead(未来的 5.26.0)中修复,与 5.24.2 不同。根据那张票,该修复程序尚未向后移植到 5.24 分支,这就是 ikegami 编辑您的答案的原因; “解决了尚未发布的 5.24.2 的错误”是不正确的。
    • @ikegami 抱歉,我编辑了我的帖子而没有看到您的编辑。我恢复了上一次编辑。
    • 优秀。谢谢大家的帮助
    猜你喜欢
    • 2021-05-31
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多