Sun Nov 24 23:10:08 2013: Request 90597 was acted upon. Transaction: Correspondence added by BULKDD Queue: Win32-API Subject: module Win::API (0.75) installation failed Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: eduard1...@gmail.com Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=90597 >
Since you are not a native english speaker (Google говорит вы пишит на русском языке), I will use simpler language from now on. On Sun Nov 24 04:29:07 2013, eduard1...@gmail.com wrote: > perl -V > Summary of my perl5 (revision 5 version 14 subversion 4) configuration: > > Platform: > osname=cygwin, osvers=1.7.18(0.26353), archname=cygwin-thread-multi > uname='cygwin_nt-6.1 yaakov04 1.7.18(0.26353) 2013-03-07 19:25 x86_64 > cygwin ' > config_args='-d -e -Dprefix=/usr -Dmksymlinks -Dusethreads > -Darchname=x86_64-cygwin-threads -Dlibperl=cygperl5_14.dll -Dcc=gcc > -Dld=g++' > hint=recommended, useposix=true, d_sigaction=define > useithreads=define, usemultiplicity=define > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=define, use64bitall=define, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ > -fno-strict-aliasing -pipe -fstack-protector', > optimize='-O3', > cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing > -pipe -fstack-protector' > ccversion='', gccversion='4.8.0 20130307 (experimental)', > gccosandvers='' > intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 > ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='g++', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols > -Wl,--enable-auto-image-base -fstack-protector' > libpth=/usr/lib /lib > libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat > perllibs=-ldl -lcrypt > libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=cygperl5_14.dll > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' > cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import > -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector' > > > Characteristics of this binary (from libperl): > Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV > PERL_IMPLICIT_CONTEXT PERL_PRESERVE_IVUV > PERL_USE_SAFE_PUTENV USE_64_BIT_ALL USE_64_BIT_INT > USE_ITHREADS USE_LARGE_FILES USE_PERLIO > USE_PERL_ATOF > USE_REENTRANT_API > Locally applied patches: > Bug#55162 File::Spec::case_tolerant performance > CYG07 $vendorarch/auto/.rebase > CYG15 static Win32CORE > CYG17 cyg-1.7 paths-utf8 > 0c612ce82 Fix building static extensions on cygwin, -UUSEIMPORTLIB > 1bac5ecc1 Fix 64-bit threading sv.c: S_anonymise_cv_maybe > Cygwin::sync_winenv added > Built under cygwin > Compiled at Mar 11 2013 18:25:23 > @INC: > /usr/lib/perl5/site_perl/5.14/x86_64-cygwin-threads > /usr/lib/perl5/site_perl/5.14 > /usr/lib/perl5/vendor_perl/5.14/x86_64-cygwin-threads > /usr/lib/perl5/vendor_perl/5.14 > /usr/lib/perl5/5.14/x86_64-cygwin-threads > /usr/lib/perl5/5.14 > > ./Callback/t/02_Callback.t > use: Command not found. > use: Command not found. > use: Command not found. > Badly placed ()'s. I did not see the above "use: Command not found" myself. > > ./Callback/t/03_Jim_Shaw.t > 1..6 > ok 1 - use Win32::API; > ok 2 - use Win32::API::Callback; > ok 3 - use Win32::API::Test; > ok 4 - loaded > get_window_pids: Desktop hwnd: 6555 > Illegal instruction (core dumped) > > the dump file attached > The dump file is useless. It does not include a C callstack. I see you are using 64 bit Cygwin. This is a new product I have never used before, and Win32::API has never been tested on before. To go back and forth with you to solve all crashes will take a dozen or more posts and very many days. Instead I downloaded Cygwin 64 bit. I found and fixed many small problems in WIn32::API to make Cygwin 64 bit work, (see https://github.com/bulk88/perl5-win32-api/commit/57a4457011b915c8581bb84e47664eb3ec4c0183 ). Win32::API::Callback first failed because 32 or 64 bit detection code was less than perfect. This caused Win32::API::Callback to create 32 bit machine code at runtime instead of 64 bit machine code. Callback's return value (42 vs 0 test fail) problem was new -fstack-protector option, which corrupted RAX register in function Stage2CallbackX64. Another problem was native Win32 Perl, with Visual C or Mingw, when compiling 64 bit, Perl's authors define "WIN64" macro. WIN64 is not a Microsoft macro. Cygwin Perl does not define WIN64, only Microsoft's _WIN64 macro. This caused junk parameters to be passed to Call_asm function, which causes SEGV in all Win32::API (note, not Win32::API::Callback) calls to C functions. I made new release of Win32::API with Cygwin 64 fixes, version 0.76_05, it on CPAN at http://search.cpan.org/~bulkdd/Win32-API/ . Please try it and report if it passes tests without failure.