On Wed, Jun 03, 2009 at 12:05:33PM -0700, Michael G Schwern wrote:
> Max Maischein wrote:
> > Hello,
> >
> > the EUMM integration broke the Win32 build with
> > 5bdf71cc9217764029fb9a321295118de3bb8e72
> >
> > The attached patch restores the building by skipping the loading of
> > Win32.pm
>
> Hello, I need to see a bug before I can accept a fix for it.
>
> "Its broke" ain't a bug report.
Whilst this isn't the detail you request, the bug will be the cause of this:
On Wed, Jun 03, 2009 at 01:12:00AM +0100, Steve Hay wrote:
> Automated smoke report for 5.11.0 patch
> e42df61ffa4b532a113a57b2965d347ce4da44b3 blead-1256-ge42df61
> maldoror.bath.planit.group: Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz(~2660 MHz)
> (x86/2 cpu)
> on MSWin32 - WinXP/.Net SP3
> using cl version 12.00.8804
> smoketime 10 minutes 13 seconds (average 30.650 seconds)
>
> Summary: FAIL(M)
>
> O = OK F = Failure(s), extended report at the bottom
> X = Failure(s) under TEST but not under harness
> ? = still running or test results not (yet) available
> Build failures during: - = unknown or N/A
> c = Configure, m = make, M = make (after miniperl), t = make test-prep
>
> blead-1256-ge42df61 Configuration (common)
> -DINST_TOP=$(INST_DRV)\Smoke\doesntexist
> ----------- ---------------------------------------------------------
> M M
> M M -Dusemymalloc
> M M -Duseithreads -Uuseimpsys
> M M -Duseithreads -Uuseimpsys -Dusemymalloc
> M M -Duseithreads
> M M -Accflags='-DPERL_OLD_COPY_ON_WRITE'
> M M -Accflags='-DPERL_OLD_COPY_ON_WRITE' -Dusemymalloc
> M M -Accflags='-DPERL_OLD_COPY_ON_WRITE' -Duseithreads -Uuseimpsys
> M M -Accflags='-DPERL_OLD_COPY_ON_WRITE' -Duseithreads -Uuseimpsys
> -Dusemymalloc
> M M -Accflags='-DPERL_OLD_COPY_ON_WRITE' -Duseithreads
> | +--------- -DDEBUGGING
> +----------- no debugging
and from code inspection I can see that the problem will be here:
sub arch_check {
my $self = shift;
require Win32;
return $self->SUPER::arch_check( map { lc Win32::GetShortPathName($_) } @_);
}
as require Win32 is going to fail when run by miniperl.exe, because Win32 is
an XS module. In particular, right now, Win32 is needed to build Win32.
[yes, I had a hand in Corion's proposed fix]
Nicholas Clark