Hi,
Am trying to build and test LAPACK/GotoBLAS2 with the instructions at the start of this thread. Building on Windows 7 64 bit (but the build is all in 32 bits) using cygwin (to build GotoBLAS2) and visual studio 2008.
I'm able to build GotoBLAS2 with cygwin. I end up with files libgoto2.lib and libgoto2.dll in the exports subdirectory. I copy the DLL to c:\windows\syswow64. syswow64 is the 32 bit equivalent of system32 (yes, system32 means 64 bits) on 64 bit Windows 7. It links and runs and sysinternals' process explorer tells me the process is mapped to c:\windows\syswow64\libgoto2.dll
All seems fine and good so far. Using the example code at:
http://www.cs.rochester.edu/~bh/cs400/using_lapack.htmlI arrive in the debugger at the call to dgesv_; try to step over it; and get a 0 pointer access violation error.
Let me skip over many steps. I finally find (I'm an experienced programmer) that if I 'move the memory map around some', on very rare occasions it will actually run and not crash and produce the correct result. One moves the memory map around by, say, adding another local variable of form:
int test[1000];
And I do this because I suspect there's a memory corruption problem. That the program very occasionally
does work tells me that this is likely.
The program itself is very short - don't think the memory corruption problem is there. So I suspect the copy of libgoto2.dll that I built with cygwin.
I'd like to step down into the routines in libgoto2.dll with the debugger but it seems the default build, simply:
make
doesn't build with debug symbols.
Any ideas as to how I can track this down further?
thanx - pat