jocheno wrote:I tried to rebuild the Blas library, following the exact same procedure as before. But when trying to build the .dll and .lib by executing "make dll" within the VS command prompt, I first receive this message:
.gensymbol win2k dummy 0 X86 > libgoto_core2-r1.26.def
/bin/sh: ./gensymbol: /usr/bin/perl: bad interpreter: No such file or directory
make: *** [libgoto_core2-r1.26.def] Error 126
During the execution of "make dll" for the first time, it seems that the definition file libgoto_core2-r1.26.def is generated, thus when typing "make dll" for the second time, now there is a different error message:
[...]
dlltool: Syntax error in def file libgoto_core2-r1.26.def:0
dlltool: Syntax error in def file libgoto_core2-r1.26.def:0
lib /machine:i386 /def:libgoto_core2-r1.26.def
Microsoft <R> LIbrary Manager [...]
Bibliothek "libgoto_core2-r1.26.lib" und Objekt "libgoto_core2-r1.26.exp" werden erstellt.
I did everything as before, and I receive those syntax errors in the definition file!? I saw that I had the same two "Syntax error" messages before (see one of my posts above), with the difference that back then I was missing the path to the lib.exe, thus I didn't care so much about the two syntax errors!?
Its hard to understand what stage you're having problems with. The compilation of the library (into a *.a file) in Cygwin? or the making of the *.dll and *.lib file in VS command prompt? Also, I thought you'd successfully compiled the library into a dll? Did you download the source twice into two directories and try compiling them using two different techniques?
Anyway, I recommend that you type "make clean" in the VS command prompt, in order to get rid of the output of the previous compile before typing "make dll". ("make clean" should also work in the first, Cygwin, phase. However, this may not be necessary, as you will have to compile GotoBLAS from scratch, and you know how long that takes ;-) .)
jocheno wrote:A .dll and a .lib file are built, but they are very small and the "nm" command shows me, that they are practically empty
That's odd. Repeat the second phase, i.e. "make clean" followed by "make dll" and lets know what happens.
jocheno wrote:I am close to giving up, but I need this solver so badly... I hope you are not giving up yet!?
I've felt close to giving up myself, but I just kept trying. You may have read my post last week where I sought help with a number of serious problems I had with some subroutines. I have now solved the problem, but it took a bit of effort. At the end of the day, the problems were due to mistakes I made in my code.
Warning: rant aheadIf you are solving huge, dense (i.e. non-sparse) linear systems like I am, there's nothing else out there but LAPACK. Not even Matlab will do, because its not optimized for any machine, and it is for this reason that Matlab will take forever to solve linear systems that LAPACK (with a good BLAS) will solve in seconds or a few mins. BTW, did you know that Matlab started out as
an interface to LINPACK and EISPACK, both of which were superseded by LAPACK? (read
paragraph 1 of the LAPACK Wikipedia article). Matlab today still relies on LAPACK for its linear solvers, as does the
GNU Scientific Library (GSL). This weekend in a fit of desperation, I tried using GSL for the second time, and like before, I gave up because it took forever (I'm sure you know why).
The point I'm trying to make is that, just as UNIX has won the battle for the design of OS' (very few people do OS' differently), the battle for linear solvers is pretty much over. There there is nothing else out there. Just LAPACK, interfaces to LAPACK and the different flavors of LAPACK :-) .