[rt.cpan.org #80217] Build failure under Cygwin on Windows

[email protected] ("Jerry D. Hedden via RT")
Newsgroups perl.libwin32
Message-ID <[email protected]>
Wed Oct 17 07:51:29 2012: Request 80217 was acted upon.
Transaction: Correspondence added by JDHEDDEN
       Queue: Win32-API
     Subject: Build failure under Cygwin on Windows
   Broken in: 0.72
    Severity: Critical
       Owner: Nobody
  Requestors: [email protected]
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80217 >


On 2012-10-16 22:03:39, BULKDD wrote:
> On Tue Oct 16 20:15:00 2012, JDHEDDEN wrote:
> > Yes, I can access it.  I'd be more than happy to test any changes 
you 
> > make.
> 
> New version up at https://github.com/bulk88/perl5-win32-api . Try it 
and
> report back.

Progress.  It builds, but segfaults on testing:



> make
cp Type.pm blib/lib/Win32/API/Type.pm
cp Callback.pm blib/lib/Win32/API/Callback.pm
cp Test.pm blib/lib/Win32/API/Test.pm
cp Struct.pm blib/lib/Win32/API/Struct.pm
cp API.pm blib/lib/Win32/API.pm
cp IATPatch.pod blib/lib/Win32/API/Callback/IATPatch.pod
make[1]: Entering directory `/d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/Callback'
/usr/bin/perl.exe /usr/lib/perl5/5.16.1/ExtUtils/xsubpp  -typemap 
/usr/lib/perl5/5.16.1/ExtUtils/typemap  Callback.xs > Callback.xsc && mv 
Callback.xsc Callback.c
gcc -c   -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -DNO_MATHOMS -fno-
strict-aliasing -pipe -DUSEIMPORTLIB -Os -pipe -funit-at-a-time -
march=pentium4 -mfpmath=sse -mieee-fp -mmmx -msse -msse2   -
DVERSION=\"0.72\" -DXS_VERSION=\"0.72\"  "-
I/usr/lib/perl5/5.16.1/cygwin/CORE"   Callback.c
In file included from Callback.xs:36:
../API.h:85: warning: malformed '#pragma pack(push[, id], <n>)' - 
ignored
../API.h:93: warning: #pragma pack (pop) encountered without matching 
#pragma pack (push, <n>)
Callback.xs: In function `PerlCallback':
Callback.xs:229: warning: cast from pointer to integer of different size
Callback.xs: In function `XS_Win32__API__Callback__HeapBlock_new':
Callback.xs:625: warning: cast from pointer to integer of different size
Callback.xs: In function `XS_Win32__API__Callback__HeapBlock_DESTROY':
Callback.xs:653: warning: cast to pointer from integer of different size
Callback.xs: In function `XS_Win32__API__Callback__IATPatch_new':
Callback.xs:681: warning: cast to pointer from integer of different size
Callback.xs:695: warning: cast to pointer from integer of different size
Callback.xs:704: warning: cast from pointer to integer of different size
Callback.xs:706: warning: cast from pointer to integer of different size
Callback.xs: In function `XS_Win32__API__Callback__IATPatch_Unpatch':
Callback.xs:742: warning: cast to pointer from integer of different size
Callback.xs:744: warning: cast to pointer from integer of different size
rm -f ../blib/arch/auto/Win32/API/Callback/Callback.dll
g++  --shared  -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--
enable-auto-image-base -s -L/usr/local/lib Callback.o  -o 
../blib/arch/auto/Win32/API/Callback/Callback.dll      \
          /usr/lib/perl5/5.16.1/cygwin/CORE/cygperl5_16_1.dll           
\
          
chmod 755 ../blib/arch/auto/Win32/API/Callback/Callback.dll
test -s Callback.bs && cp Callback.bs 
../blib/arch/auto/Win32/API/Callback/Callback.bs && \
          chmod 644 ../blib/arch/auto/Win32/API/Callback/Callback.bs
make[1]: [../blib/arch/auto/Win32/API/Callback/Callback.dll] Error 1 
(ignored)
make[1]: Leaving directory `/d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/Callback'
/usr/bin/perl.exe /usr/lib/perl5/5.16.1/ExtUtils/xsubpp  -nolinenumbers  
-typemap /usr/lib/perl5/5.16.1/ExtUtils/typemap -typemap typemap  API.xs 
> API.xsc && mv API.xsc API.c
gcc -c   -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -DNO_MATHOMS -fno-
strict-aliasing -pipe -DUSEIMPORTLIB -Os -pipe -funit-at-a-time -
march=pentium4 -mfpmath=sse -mieee-fp -mmmx -msse -msse2   -
DVERSION=\"0.72\" -DXS_VERSION=\"0.72\"  "-
I/usr/lib/perl5/5.16.1/cygwin/CORE"   API.c
In file included from API.c:28:
API.h:85: warning: malformed '#pragma pack(push[, id], <n>)' - ignored
API.h:93: warning: #pragma pack (pop) encountered without matching 
#pragma pack (push, <n>)
API.c: In function `XS_Win32__API_LoadLibrary':
API.c:371: warning: cast from pointer to integer of different size
API.c: In function `XS_Win32__API_GetProcAddress':
API.c:390: warning: cast to pointer from integer of different size
API.c: In function `XS_Win32__API_FreeLibrary':
API.c:414: warning: cast to pointer from integer of different size
API.c: In function `XS_Win32__API_PointerTo':
API.c:506: warning: cast from pointer to integer of different size
API.c: In function `XS_Win32__API_GetModuleFileName':
API.c:747: warning: cast to pointer from integer of different size
API.c: In function `XS_Win32__API_Call':
API.c:1106: warning: cast to pointer from integer of different size
rm -f blib/arch/auto/Win32/API/API.dll
g++  --shared  -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--
enable-auto-image-base -s -L/usr/local/lib API.o  -o 
blib/arch/auto/Win32/API/API.dll   \
          /usr/lib/perl5/5.16.1/cygwin/CORE/cygperl5_16_1.dll           
\
          
chmod 755 blib/arch/auto/Win32/API/API.dll
test -s API.bs && cp API.bs blib/arch/auto/Win32/API/API.bs && \
          chmod 644 blib/arch/auto/Win32/API/API.bs
make: [blib/arch/auto/Win32/API/API.dll] Error 1 (ignored)


> make test
chmod 755 API_test.dll
make[1]: Entering directory `/d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/Callback'
make[1]: Leaving directory `/d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/Callback'
PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" 
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00_API.t .......... 1/48 # API test dll found at (./API_test.dll)
# Cygwin::winpid_to_pid()=66332
# Cygwin::winpid_to_pid()=66332
# Cygwin::winpid_to_pid()=66332
t/00_API.t .......... Failed 37/48 subtests 
t/01_Struct.t ....... 1/18 # $^E=
t/01_Struct.t ....... Failed 13/18 subtests 
t/02_GetProcess.t ... 1/3 # $result=66376
# $$=67856
t/02_GetProcess.t ... ok   
t/03_undef.t ........ 1/3 # Win32::API 0.72
# Import: 
t/03_undef.t ........ Failed 2/3 subtests 
t/04_rt_48006.t ..... 1/4 

Uninit warnings are intentional

Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
Use of uninitialized value in pack at /d/Xfer/bulk88-perl5-win32-api-
ce9d4d7/blib/lib/Win32/API/Struct.pm line 317.
# Size is 296. Should be 296
t/04_rt_48006.t ..... ok   
t/05_more_struct.t .. ok     
t/06_rt_74578.t ..... 1/3 # @pack=(LLLLLLLlLa260, ARRAY(0x802870), 
ARRAY(0x802990), 296, ARRAY(0x7fa1d0))
t/06_rt_74578.t ..... ok   
t/benchmark.t ....... 1/7 # API test dll found at (./API_test.dll)
t/benchmark.t ....... Failed 2/7 subtests 
t/pod-coverage.t .... ok   
t/pod.t ............. ok   
t/v69.t ............. 1/36 # API test dll found at (./API_test.dll)
t/v69.t ............. Failed 32/36 subtests 
t/v70.t ............. ok     
t/v71.t ............. 1/23 # API test dll found at (./API_test.dll)
t/v71.t ............. Failed 19/23 subtests 

Test Summary Report
-------------------
t/00_API.t        (Wstat: 139 Tests: 11 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 48 tests but ran 11.
t/01_Struct.t     (Wstat: 139 Tests: 5 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 18 tests but ran 5.
t/03_undef.t      (Wstat: 139 Tests: 1 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 3 tests but ran 1.
t/benchmark.t     (Wstat: 139 Tests: 5 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 7 tests but ran 5.
t/v69.t           (Wstat: 139 Tests: 4 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 36 tests but ran 4.
t/v71.t           (Wstat: 139 Tests: 4 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 23 tests but ran 4.
Files=13, Tests=90, 10 wallclock secs ( 0.13 usr  0.20 sys +  5.03 cusr  
4.23 csys =  9.58 CPU)
Result: FAIL
Failed 6/13 test programs. 0/90 subtests failed.
make: *** [test_dynamic] Error 255


> perl -Mblib t/00_API.t 
1..48
ok 1 - use Win32::API;
ok 2 - use Win32::API::Test;
ok 3 - use Win32;
ok 4 - loaded
# API test dll found at (./API_test.dll)
ok 5 - found API test dll
ok 6 - GetCurrentProcessId() function found
# Cygwin::winpid_to_pid()=66196
ok 7 - GetCurrentProcessId() result ok
# Cygwin::winpid_to_pid()=66196
ok 8 - GetCurrentProcessId() result ok
ok 9 - Import of GetCurrentProcessId() function from kernel32.dll
# Cygwin::winpid_to_pid()=66196
ok 10 - GetCurrentProcessId() result ok
ok 11 - Import of IsBadReadPtr function from kernel32.dll
Segmentation fault (core dumped)


> perl -Mblib t/01_Struct.t
1..18
ok 1 - use Win32::API;
ok 2 - use Win32::API::Test;
ok 3 - loaded
ok 4 - found API test dll
ok 5 - mangle_simple_struct() function
# $^E=
Segmentation fault (core dumped)


> perl -Mblib t/03_undef.t 
1..3
# Win32::API 0.72
ok 1 - import sample API (PeekNamedPipe)
# Import: 
Segmentation fault (core dumped)

> perl -Mblib t/benchmark.t 
1..7
ok 1 - use Win32::API;
ok 2 - use Win32::API::Test;
# API test dll found at (./API_test.dll)
ok 3 - found API test dll
ok 4 - setlasterror_loop() function defined
ok 5 - QueryPerformanceCounter Win32::API obj created
Segmentation fault (core dumped)


> perl -Mblib t/v69.t
1..36
ok 1 - use Win32::API;
ok 2 - use Win32::API::Test;
ok 3 - use Win32;
# API test dll found at (./API_test.dll)
ok 4 - found API test dll
Segmentation fault (core dumped)


> perl -Mblib t/v71.t 
1..23
ok 1 - use Win32::API;
ok 2 - use Win32::API::Test;
# API test dll found at (./API_test.dll)
ok 3 - found API test dll
ok 4 - find_char() function defined
Segmentation fault (core dumped)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.