|
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
|