Skip Menu |

This queue is for tickets about the Win32-API CPAN distribution.

Report information
The Basics
Id: 67320
Status: resolved
Worked: 3 hours (180 min)
Priority: 0/
Queue: Win32-API

People
Owner: cosimo [...] cpan.org
Requestors: engineer [...] fuse.net
Cc:
AdminCc:

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



Subject: Win32::API Callback won't install
I am running windows version Windows 7 Home Premium x86_64bit, Strawberry Perl ver 5.12.2, using makemaker version 6.56. About a month ago we got the Win32::API (ver 0.60) running on my machine, but I noticed Callback wasn't implimented. I thought maybe it was a separate download but when I went to CPAN the download was the API (ver 0.62). I tried it to be sure nothing was different but Callback still isn't implimented although the rest of the API package compiled and installed perfectly. Cosimo tells me that this is presently a 64 bit issue so this is just the reminder he asked for. By the way, in the compiling and testing there was no mention of the Callback routine in the printout that insued although the Callback.pm module was found in the root folder and a Callback folder was generated with the Callback.xs and makefile.
On Thu Apr 07 20:54:43 2011, bob41042 wrote: Show quoted text
> I thought maybe it was a separate > download but when I went to CPAN the download was the API (ver 0.62). > I tried it to be sure nothing was different but Callback still isn't > implimented although the rest of the API package compiled and > installed perfectly. Cosimo tells me that this is presently a 64 bit > issue so this is just the reminder he asked for.
Hi Bob, thanks for filing a ticket. I looked at the code again, and the callback part was indeed disabled on purpose on 64 bit builds because it's currently not working, so the tests would fail. This is the relevant part of Makefile.PL: 'PM' => { ... $is_64bit_build ? () : ('Callback.pm' => '$(INST_LIBDIR)/API/Callback.pm'), }, If you change it to: 'PM' => { ... 'Callback.pm' => '$(INST_LIBDIR)/API/Callback.pm', }, then the Callback part will be enabled.
RT-Send-CC: libwin32 [...] perl.org
I was too quick on that one. Here's the (reversed) patch that will allow compilation of Win32::API::Callback on 64 bit builds: https://github.com/cosimo/perl5-win32-api/ commit/7bc695d94f98566d3ad90ec53b3d978935495e94 so, it needs changes to Callback/Makefile.PL too, not just Makefile.PL. Sorry for the confusion.
RT-Send-CC: libwin32 [...] perl.org
I was too quick on that one. Here's the (reversed) patch that will allow compilation of Win32::API::Callback on 64 bit builds: https://github.com/cosimo/perl5-win32-api/ commit/7bc695d94f98566d3ad90ec53b3d978935495e94 so, it needs changes to Callback/Makefile.PL too, not just Makefile.PL. Sorry for the confusion.
RT-Send-CC: libwin32 [...] perl.org
I was too quick on that one. Here's the (reversed) patch that will allow compilation of Win32::API::Callback on 64 bit builds: https://github.com/cosimo/perl5-win32-api/ commit/7bc695d94f98566d3ad90ec53b3d978935495e94 so, it needs changes to Callback/Makefile.PL too, not just Makefile.PL. Sorry for the confusion.
RT-Send-CC: libwin32 [...] perl.org
I was too quick on that one. Here's the (reversed) patch that will allow compilation of Win32::API::Callback on 64 bit builds: https://github.com/cosimo/perl5-win32-api/ commit/7bc695d94f98566d3ad90ec53b3d978935495e94 so, it needs changes to Callback/Makefile.PL too, not just Makefile.PL. Sorry for the confusion.
RT-Send-CC: libwin32 [...] perl.org
I was too quick on that one. Here's the (reversed) patch that will allow compilation of Win32::API::Callback on 64 bit builds: https://github.com/cosimo/perl5-win32-api/ commit/7bc695d94f98566d3ad90ec53b3d978935495e94 so, it needs changes to Callback/Makefile.PL too, not just Makefile.PL. Sorry for the confusion.
Subject: Re: [rt.cpan.org #67320] Win32::API Callback won't install
Date: Sun, 10 Apr 2011 21:28:58 -0400
To: <bug-Win32-API [...] rt.cpan.org>
From: "Bob R" <engineer [...] fuse.net>
Made the changes to both makefile.pl's this time from the commit page. Results were nearly the same (everything compiled fine and the API stuff works) except the this time because we leave out the callback.pm hash from the main makefile, it doesn't copy the module to the library at all so my error message this time when I try to run the Callback program is: D:\MyPerl\Perl\Programs\XS\Development>callback2.pl Can't locate Win32/API/Callback.pm in @INC (@INC contains: C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C:/strawberry/perl/lib .) at D:\MyPerl\Perl\Programs\XS\Development\callback2.pl line 5. BEGIN failed--compilation aborted at D:\MyPerl\Perl\Programs\XS\Development\callback2.pl line 5. Then, if I copy the module to the library manually I get the old "Can't locate loadable object" error. Show quoted text
-----Original Message----- From: Cosimo Streppone via RT Sent: Sunday, April 10, 2011 5:52 PM To: engineer@fuse.net Subject: [rt.cpan.org #67320] Win32::API Callback won't install <URL: https://rt.cpan.org/Ticket/Display.html?id=67320 > I was too quick on that one. Here's the (reversed) patch that will allow compilation of Win32::API::Callback on 64 bit builds: https://github.com/cosimo/perl5-win32-api/ commit/7bc695d94f98566d3ad90ec53b3d978935495e94 so, it needs changes to Callback/Makefile.PL too, not just Makefile.PL. Sorry for the confusion.
Win32::API v0.64 is on its way to CPAN, and it's also pushed to Github at https://github.com/cosimo/perl5-win32-api/ This version has a clearer Makefile.PL that will correctly build or not build the Callback module depending on a "$build_callback" flag instead of avoiding build if it's a 64 bit architecture. The two flags are still linked together by default (64 bit arch => no callback) because the Callback tests would fail anyway, but it should be easier for anyone to just enable/disable callback module by changing the "$build_callback" flag in: * Makefile.PL * Callback/Makefile.PL I'll fix as resolved. Please get in touch if there's problems.
Subject: Re: [rt.cpan.org #67320] Win32::API Callback won't install
Date: Mon, 29 Aug 2011 10:48:24 -0400
To: <bug-Win32-API [...] rt.cpan.org>
From: "Bob R" <engineer [...] fuse.net>
I changed the two $build_callback flags and installed the new revision. Everything seemed to work fine in testing and installing. But now that it's installed, none of the sample callback programs work still. They come up with an error saying "Perl has stopped working. Trying to find out why". Then when the resolution pops up it says, "The thread tried to read from or write to a virtual address for which it does not have the appropriate access". If there is something I'm doing wrong could you tell me what might cause such an error? These were the 3 sample callback programs in the package. Thanks, Bob Ross Show quoted text
-----Original Message----- From: Cosimo Streppone via RT Sent: Sunday, August 28, 2011 3:30 PM To: engineer@fuse.net Subject: [rt.cpan.org #67320] Win32::API Callback won't install <URL: https://rt.cpan.org/Ticket/Display.html?id=67320 > Win32::API v0.64 is on its way to CPAN, and it's also pushed to Github at https://github.com/cosimo/perl5-win32-api/ This version has a clearer Makefile.PL that will correctly build or not build the Callback module depending on a "$build_callback" flag instead of avoiding build if it's a 64 bit architecture. The two flags are still linked together by default (64 bit arch => no callback) because the Callback tests would fail anyway, but it should be easier for anyone to just enable/disable callback module by changing the "$build_callback" flag in: * Makefile.PL * Callback/Makefile.PL I'll fix as resolved. Please get in touch if there's problems.
On Mon Aug 29 12:19:09 2011, bob41042 wrote: Show quoted text
> I changed the two $build_callback flags and installed the new
revision. Show quoted text
> Everything seemed to work fine in testing and installing. But now
that it's Show quoted text
> installed, none of the sample callback programs work still. They come
up Show quoted text
> with an error saying "Perl has stopped working. Trying to find out
why". Hi Bob, yes, sadly that problem (the original problem with Callbacks and 64 bit architectures) is still not solved. -- Cosimo