Perlbrew не удалось построить 5.28.2 без сбоев - PullRequest
2 голосов
/ 18 июня 2020

Я относительно новичок в 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 ##### 

Проблема сообщается как:

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 

На мой неопытный глаз кажется, что ошибок нет. У меня возникает соблазн запустить сборку с минимальным усилием, но тогда я не знаю, что получаю. кстати, я включаю потоки в этой сборке. Итак, это то, что я могу игнорировать? большое спасибо

примечание: это на Ma c с OSX 10.15.4.

1 Ответ

1 голос
/ 18 июня 2020

Вот дополнительная информация о неудавшемся тесте:

$ 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

Edit

Еще одно исследование показывает, что вывод nm на libperl.a дает неожиданный результат no symbols to STDERR:

$ /usr/bin/nm -m ../libperl.a > /dev/null
no symbols

(Было бы интересно узнать, почему это происходит) В любом случае, вы можете исправить тест, отредактировав строку 579 в t/porting/libperl.t с

if (/nm: no name list/ && $^O eq 'darwin') {

на

if ((/nm: no name list/ || /^no symbols$/) && $^O eq 'darwin') {

Затем повторите тест:

$ ./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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...