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.