From: Michael G. <mic...@gm...> - 2012-11-16 14:59:04
|
On Fri, Nov 16, 2012 at 9:52 AM, nitnit <ni...@gm...> wrote: > Hello all, > > I have tried to re-build Octave-3.6.4-rc0 with an updated mingw/msys > environment (recent repository with gcc-4.7.2). > > I have used Tatsuros libraries which have been built with gcc-4.6.2. > > I had to rebuild lapack and reference blas in order for the configure > script > to succeed. All other libs are those which have been pre-compiled by > Tatsuro > with gcc-4.6.2. > > I could build octave successfully but with make -check, I am getting a seg. > fault in eigs.cc: > > ... > src\DLD-FUNCTIONS\dot.cc ............................... PASS 3/3 > src\DLD-FUNCTIONS\eig.cc ............................... PASS 20/20 > src\DLD-FUNCTIONS\eigs.cc ..............................panic: > Segmentation violation -- stopping myself... > make[1]: [check] Error 3 (ignored) > make[1]: Leaving directory `/c/OctaveB/octave-3.6.4-rc0/test' > > Any ideas about cab cause it ? > There are differences in default calling conventions between 4.6.x and 4.7.x versions under Windows. The 4.7.x calling conventions is more compatible with MSVC (in fine, this is to be compatible with MSVC-compiled DLL's). For instance, one of the change is about who's popping up the hidden pointer from the stack when returning an aggregate object larger than 8 bytes. So I'd definitely recompile everything with the same compiler. Michael. |