From: Mattia B. <mb...@ds...> - 2001-05-02 21:06:59
|
> wxPerl 0.06 source tarball > wxWindows 2.26 > Win2000 Version 5.00.2195 > > "gcc -v" lists gcc version as: > Reading specs from > c:\gcc-2.95.2-1\bin\..\lib\gcc-lib\mingw32\2.95.2\specs gcc driver > version 2.95.2 19991024 (release) executing gcc version 2.95.2-mingw > snapshot 20010329 I use a different one: ---- Reading specs from C:\Programmi\Devel\GCC\bin\..\lib\gcc- lib\mingw32\2.95.2\specs gcc driver version 2.95.2 19991024 (release) executing gcc version 2.95.2-20001116 ---- but maybe it is an ld / libbfd problem... > wxWindows dll compiles fine, wxWindows samples compile and run > fine, > wxPerl 0.05 source compiles, tests, and runs fine. Compiling wxPerl > 0.06 reports no errors, but running "dmake test" does the following.. > > C:\Wx-0.06>dmake test > C:\Perl\bin\Perl.exe -Mblib -IC:\Perl\lib -IC:\Perl\lib -e "use > Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;" > t\1_load.t t\2_inheritance.t Using C:/Wx-0.06/blib > t\1_load............Can't load 'C:/Wx-0.06/blib/arch/auto/Wx/Wx.dll' > for module Wx: load_file:Invalid access to memory location at mmm... weird > Not sure what's going on here, especially since this compiler > setup > works for everything _but_ wxPerl 0.06 (and higher, a cvs snapshot > pulled this afternoon (May 2 2001) from sourceforge had the same > results). I did notice that the makefile is using "g++ -shared" to > make the wx dll's, rather than the "old", 2 step linking process used > by the wxPerl 0.05 makefile (and the wxWindows 2.2.6 makefiles). FWIW wxWindows 2.2.6 can be set up to use g++ -shared ( there is a comment in src/makeg95.env ) Anyway... in wxPerl source tree build/Win32_MinGW.pm , at the bottom there is a function starting like this: sub dynamic_lib { package MY; my( $this ) = shift; my( $text ) = $this->SUPER::dynamic_lib( @_ ); return $text unless $text =~ m/dlltool/i; my $wximplib = MM->catfile( wxConfig::top_dir(), qw(blib arch auto Wx Wx.a) ); change the line return $text unless $text =~ m/dlltool/i; to return $text; and redo the whole build ( perl Makefile.PL ; ... ) And let me know it it works... Sorry for the bug, I use g++ -shared because it is faster, and should be better in general... BTW, your bug report is _great_ ( I mean: detailed / well explained ) Thanks Mattia |