On Fri, Oct 28, 2011 at 6:32 AM, Steve Hay <steve...@planit.com> wrote:
> Nicholas Clark wrote on 2011-10-28:
>> On Thu, Oct 27, 2011 at 11:30:00PM -0400, George Greer wrote:
>>> Smoke logs available at http://m-l.org/~perl/smoke/perl/
>>>
>>> Automated smoke report for 5.15.4 patch
>> aba0546e5e59b483db69149ae72b8c7a90f9b03f v5.15.4-67-gaba0546
>>
>>> Failures: (common-args) none
>>> [default]
>>> [default] -Duseithreads
>>> [default] -DDEBUGGING -Duseithreads
>>> ../cpan/ExtUtils-MakeMaker/t/echo.t.........................FAILED
>>>     3, 6, 9, 12, 15, 18 Non-zero exit status: 6
>>>
> ../cpan/ExtUtils-MakeMaker/t/MM_Win32.t.....................FAILED
>>>     13-20, 24 Non-zero exit status: 9
>>  From the logs at http://m-
>>
> l.org/~perl/smoke/perl/win32/blead/logaba0546e5e59b483db69149ae72b8c7a9
>> 0f9b03f.log.gz
>
> I don't have time to look into it right now, but here's a little more
> info...
>
>
>>
>> #   Failed test 'contents'
>> #   at t/echo.t line 58.
>> #          got: ''
>> #     expected: 'Foo
>> # '
>> #   Failed test 'contents'#   at t/echo.t line 58.
>
> The Makefile written for this test contains only
>
> FOO=42
> ECHO=$(ABSPERLRUN) -l -e "print qq{@ARGV}" --
>
> all:
>        $(NOECHO) $(ECHO) Foo > bar.txt
>
> It works fine if a definition for ABSPERLRUN is added.
>
>
>> #   Failed test 'init_others: TOUCH'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: CHMOD'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: CP'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: RM_F'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: RM_RF'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: MV'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: NOOP'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: TEST_F'
>> #   at t/MM_Win32.t line 115.
>>
>> #   Failed test 'init_others: DEV_NULL'
>> #   at t/MM_Win32.t line 115.
>
> The $mm_w32 object looks like this to Data::Dumper just after the
> init_others() call:
>
> $VAR1 = bless( {
>                 'LIBS' => [
>                             ''
>                           ],
>                 'BOOTDEP' => '',
>                 'LD_RUN_PATH' => '',
>                 'OBJECT' => '',
>                 'BASEEXT' => 'Foo',
>                 'LDFROM' => '$(OBJECT)',
>                 'AR' => 'lib',
>                 'LDLOADLIBS' => 'oldnames.lib kernel32.lib user32.lib
> gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib
> oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
> version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib',
>                 'MAKE' => 'nmake',
>                 'LD' => 'link',
>                 'PERLMAINCC' => '$(CC)',
>                 'LINKTYPE' => 'dynamic',
>                 'SKIPHASH' => {}
>               }, 'MM' );
>

I suspect the commit that is causing trouble on Win32 is this one:

<https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/f4904b4ce499b7f0c420efae69f44e19fe7dd12f>

For the first problem, because $(ECHO) comes from init_tools() but
depends on things that have been moved to init_others(), and for the
second problem, because Win32-specific tests expect things in
init_others() that have been moved to init_tools().  Not sure if the
best solution is to adjust the tests to match the current reality or
rejigger which macros come from what function in the override methods
in MM_Win32.pm.

Reply via email to