我对 Perl 比较陌生,不习惯必须构建开发工具。我尝试构建 5.28.2,但失败并显示以下内容:
Test Summary Report
-------------------
porting/libperl.t (Wstat: 65280 Tests: 35 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
Files=2657, Tests=1169052, 1297 wallclock secs (88.11 usr 13.73 sys + 620.41 cusr 99.27 csys = 821.52 CPU)
Result: FAIL
make: *** [test_harness] Error 1
##### Brew Failed #####
Run Code Online (Sandbox Code Playgroud)
该问题报告为:
porting/libperl.t: Unexpected /usr/bin/nm error: no symbols
porting/libperl.t: Unexpected /usr/bin/nm errors
porting/libperl.t ..................................................
Dubious, test returned 255 (wstat 65280, 0xff00)
All 35 subtests passed
Run Code Online (Sandbox Code Playgroud)
现在,在我未经训练的眼睛看来,失败次数似乎为 0。我很想用 note 或force 来运行构建,但随后我不知道我会得到什么。顺便说一句,我在此版本中启用线程。那么,这是我可以忽略的事情吗?非常感谢
注意:这是在 OSX 10.15.4 的 Mac 上。
以下是有关失败测试的更多信息:
$ cd /Users/hakonhaegland/perl5/perlbrew/build/perl-5.28.2/perl-5.28.2/t
$ ./perl -I../lib TEST porting/libperl.t
t/porting/libperl ... porting/libperl.t: Unexpected /usr/bin/nm error: no symbols
porting/libperl.t: Unexpected /usr/bin/nm errors
FAILED--no leader found
Failed 1 test out of 0, 0.00% okay.
porting/libperl.t
### Since not all tests were successful, you may want to run some of
### them individually and examine any diagnostic messages they produce.
### See the INSTALL document's section on "make test".
### You may have to set your dynamic library search path,
### DYLD_LIBRARY_PATH, to point to the build directory:
### setenv DYLD_LIBRARY_PATH `pwd`:$DYLD_LIBRARY_PATH; cd t; ./perl harness
### DYLD_LIBRARY_PATH=`pwd`:$DYLD_LIBRARY_PATH; export DYLD_LIBRARY_PATH; cd t; ./perl harness
### export DYLD_LIBRARY_PATH=`pwd`:$DYLD_LIBRARY_PATH; cd t; ./perl harness
### for csh-style shells, like tcsh; or for traditional/modern
### Bourne-style shells, like bash, ksh, and zsh, respectively.
Elapsed: 0 sec
u=0.01 s=0.01 cu=0.07 cs=0.03 scripts=0 tests=0
Run Code Online (Sandbox Code Playgroud)
更多调查表明,nm上的输出给 STDERRlibperl.a提供了意外的输出:no symbols
$ /usr/bin/nm -m ../libperl.a > /dev/null
no symbols
Run Code Online (Sandbox Code Playgroud)
(知道为什么会发生这种情况会很有趣)无论如何,您可以通过编辑t/porting/libperl.tfrom中的第 579 行来修复测试
if (/nm: no name list/ && $^O eq 'darwin') {
Run Code Online (Sandbox Code Playgroud)
到
if ((/nm: no name list/ || /^no symbols$/) && $^O eq 'darwin') {
Run Code Online (Sandbox Code Playgroud)
然后重新运行测试:
$ ./perl -I../lib TEST porting/libperl.t
t/porting/libperl ... ok
All tests successful.
Elapsed: 0 sec
u=0.01 s=0.00 cu=0.09 cs=0.02 scripts=1 tests=35
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
561 次 |
| 最近记录: |