My test platform: AMD5000+ x64, 2G ram, win7 x64, msys, tdm-mingw64-4.5.1, VC 2008 Express
My test software: gotoblas2-1.13, lapack-3.3.0
I started the command line from VC command prompt, and started msys from that prompt, so the tools in VC and msys can all be used.
First I compiled gotoblas2-1.13, and it seemed to be all right, libgoto2_opteronp-r1.13.lib, libgoto2.dll and libgoto2.lib are generated.
Then I put libgoto2_opteronp-r1.13.lib to lapack root directory, and modify make.inc in lapack directory
- Code: Select all
PLAT = _mingw64
...
FORTRAN = gfortran -fimplicit-none
OPTS = -O2 -m64 -mmmx -msse -msse2 -msse3
DRVOPTS = $(OPTS)
NOOPT = -g -O0
LOADER = gfortran
LOADOPTS = -O2 -m64 -mmmx -msse -msse2 -msse3
...
BLASLIB = ../../libgoto2_opteronp-r1.13.lib
Then I typed mingw32-make in the console, and lapack_mingw64.a was generated successfully, then test started automatically, but xlintstz run error, then an error dialog appear and it told me xlintstz.exe run in error, when I close the error, the following tip appear in the console
- Code: Select all
Testing COMPLEX16 linear equation routine
./xlintstz < ztest.in > ztest.out 2>&1
make[1] *** error 38
When I compiled it by mingw32 for 32bit binary, every step went well, and I tested the generated lapack and libgoto by armadillo, they worked well. But I can't pass test during mingw64 compiling, I dare not to use the lapack_mingw64.a for my work, because I don't know when it can be wrong.
Can anyone help me to resolve this problem? 32 bit precision is not enough for my work, I need 64 bit binary files for windows, and I don't have any commercial compiler, gfortran is the only choice for me.