Skip Menu |

This queue is for tickets about the Compress-Raw-Zlib CPAN distribution.

Report information
The Basics
Id: 77030
Status: resolved
Priority: 0/
Queue: Compress-Raw-Zlib

People
Owner: Nobody in particular
Requestors: kmx [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 2.054



Subject: 2.053 fails to build on strawberry perl (MS Windows) 5.14.2
The failure is:

cp lib/Compress/Raw/Zlib.pm blib\lib\Compress\Raw\Zlib.pm
AutoSplitting blib\lib\Compress\Raw\Zlib.pm (blib\lib\auto\Compress\Raw\Zlib)
Z:\strawberry32\perl\bin\perl.exe Z:\strawberry32\perl\lib\ExtUtils\xsubpp  -typemap Z:\strawberry32\perl\lib\ExtUtils\typemap -typemap typemap  Zlib.xs > Zlib.
xsc && Z:\strawberry32\perl\bin\perl.exe -MExtUtils::Command -e mv -- Zlib.xsc Zlib.c
gcc -c  -I./zlib-src    -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2         -DVERSION=\"2.053\"   -DXS_VERSION=\"2.053\"  "-IZ:\strawberry32\perl\lib\CORE"  -DNO_VIZ -DZ_SOLO   -DGZIP_OS_CODE=14 -DUSE_PPPORT_H Zlib.c
gcc -c  -I./zlib-src    -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2         -DVERSION=\"2.053\"   -DXS_VERSION=\"2.053\"  "-IZ:\strawberry32\perl\lib\CORE"  -DNO_VIZ -DZ_SOLO   -DGZIP_OS_CODE=14 -DUSE_PPPORT_H adler32.c
In file included from adler32.c:8:
./zlib-src/zutil.h:37: error: conflicting types for 'ptrdiff_t'
z:\strawberry32\c\bin\../lib/gcc/i686-w64-mingw32/4.4.7/../../../../i686-w64-mingw32/include/_mingw.h:390: note: previous declaration of 'ptrdiff_t' was here
dmake:  Error code 129, while making 'adler32.o'

The problem is in zutil.h:
#ifdef Z_SOLO
   typedef long ptrdiff_t;  /* guess -- will be caught if guess is wrong */
#endif

after commenting out this typedef the build succeeds

so the patch could be:

#if defined(Z_SOLO) && !defined(__MINGW32__)
   typedef long ptrdiff_t;  /* guess -- will be caught if guess is wrong */
#endif

--
kmx
Thanks - reproduced the issue here. Paul