Re: perl-Win32-API package problem
SJ Luo writes: > I have a small Perl program that utilize module > Win32::API::Callback. Sorry that it took so long, but the problem should be fixed with the new release of that package. Please confirm that it works for your application when you get the chance to test, thank you. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Waldorf MIDI Implementation & additional documentation: http://Synth.Stromeko.net/Downloads.html#WaldorfDocs -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: perl-Win32-API package problem
Hi Achim, > > By checking the gcc compile option, I found there is a gcc option > > "-fno-stack-protector" provided when I compile this module by myself, > > while the option is removed when I compile with cygport. If I try > > manually compiling without this option, the same problem occurs. > > I don't know enough of how the stack protector actually is implemented > to understand why it would work without the protector and stop working > with. > > I'll see if it's possible to remove the option from within cygport, if > yo I'll have to think about any ramifications that might have. Thanks for the responding. I just learned that stack protector is trying to prevent against buffer overflow/stack-corruption based attacks. It might not be a big issue. A crack-aware program shall simply avoid this module. And yes I believe it is complex that how stack protector have influence on this Perl module. But I think this option is just necessary. The Makefile.PL explicitly applies -fno-stack-protector option on non-MSVC compilers with 64bit target: https://metacpan.org/source/BULKDD/Win32-API-0.84/Makefile.PL#L149 SJ -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: perl-Win32-API package problem
SJ Luo writes: > The two lines of commands "mv ; cp xxx" are to dereference the > symbolic links of testing-needed dll files because > Win32::API::LoadLibrary() seems not be able to resolve Cygwin symbolic > link. You'd need to use native symlinks for that to work, yes. > By checking the gcc compile option, I found there is a gcc option > "-fno-stack-protector" provided when I compile this module by myself, > while the option is removed when I compile with cygport. If I try > manually compiling without this option, the same problem occurs. I don't know enough of how the stack protector actually is implemented to understand why it would work without the protector and stop working with. > The host system is Windows7. Cygwin dll is 64bit version 2.10.0-1. > wish it can be solved soon in next package release. I'll see if it's possible to remove the option from within cygport, if yo I'll have to think about any ramifications that might have. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
perl-Win32-API package problem
Hi, I have a small Perl program that utilize module Win32::API::Callback. This module works properly if I downloaded this module from CPAN and compile by myself. There occurs a problem if I get it from binary package perl-Win32-API downloaded by Cygwin setup program. I then tried to figure this problem out by downloading source module and compile by myself. I found a simple flow to duplicate the fail with the following sequence. - Cut here - % cd /usr/src/perl-Win32-API-0.84-1.src % cygport perl-Win32-API.cygport prep compile : % cd perl-Win32-API-0.84-1.x86_64/build/ % mv API_test64.dll API_test64.dll.lnk; cp API_test64.dll.lnk API_test64.dll % mv rtc64.dll rtc64.dll.lnk; cp rtc64.dll.lnk rtc64.dll % cd Callback % make test : (Failed test 'callback function works' at t/02_Callback.t line 58.) : % touch Callback.c % make % make test : (All tests passed) : - Cut here - The two lines of commands "mv ; cp xxx" are to dereference the symbolic links of testing-needed dll files because Win32::API::LoadLibrary() seems not be able to resolve Cygwin symbolic link. Two "make test" commands are shown above. The first test fails at 02_Callback.t line 75. After fail, a force recompile of the Callback.dll module is done by touch and make. Doing "make test" again, this time all test items passed. By checking the gcc compile option, I found there is a gcc option "-fno-stack-protector" provided when I compile this module by myself, while the option is removed when I compile with cygport. If I try manually compiling without this option, the same problem occurs. The host system is Windows7. Cygwin dll is 64bit version 2.10.0-1. wish it can be solved soon in next package release. Thanks, SJ https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail; target="_blank">https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif; alt="" width="46" height="29" style="width: 46px; height: 29px;" /> 不含病毒。https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=webmail; target="_blank" style="color: #4453ea;">www.avast.com -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple