(I am not sure if I am right in mentioning additional bugs in this bug report. Please correct me if this is not the convention and I will file a separate one.)
Below I have listed new bugs I found and the solutions to fix them (except of one). Just FYI, I have these packages now installed: > dpkg -l *superlu* *arpack* *blas* | grep ^ii ii libsuperlu3 3.0-2 Direct solution of large, sparse systems of ii libsuperlu3-de 3.0-2 Direct solution of large, sparse systems of ii arpack++ 2.1-5 Object-oriented version of the ARPACK packag ii libarpack2 2.1-8 Fortran77 subroutines to solve large scale e ii libarpack2-dev 2.1-8 Fortran77 subroutines to solve large scale e ii refblas3 1.2-6 Basic Linear Algebra Subroutines 3, shared l ii refblas3-dev 1.2-6 Basic Linear Algebra Subroutines 3, static l Continuing with the examples of ARPACK++, here is another bug: Line 34 of /usr/share/doc/arpack++/examples/matrices/nonsym/lnmatrxa.h is: m = INT(sqrt(n/2)); With this line, the compiler gives the error: #----------------------------------------------- /usr/share/doc/arpack++/examples/matrices/nonsym/lnmatrxa.h: In function `void BrusselatorMatrix(FLOAT, FLOAT, FLOAT, FLOAT, FLOAT, INT, INT&, FLOAT*&, INT*&, INT*&) [with FLOAT = double, INT = int]': ansymshf.cc:71: instantiated from here /usr/share/doc/arpack++/examples/matrices/nonsym/lnmatrxa.h:35: error: call of overloaded `sqrt(int)' is ambiguous /usr/include/bits/mathcalls.h:157: error: candidates are: double sqrt(double) /usr/include/c++/3.3/cmath:550: error: long double std::sqrt(long double) /usr/include/c++/3.3/cmath:546: error: float std::sqrt(float) #----------------------------------------------- The error is I guess removed by typecasting the argument of 'sqrt' function to double by modifying the line mentioned to: m = INT(sqrt( ((double)n) / 2)); So that took care of that. But is this even advisable? Afterall, 'n' is a template parameter. Anyhow, if I did that change, the compilation progressed further, but I then got these two more rather serious errors(only part of the compiler output here): #--------------------------------------------------- /usr/include/arpack++/arlgnsym.h: In constructor ` ARluNonSymGenEig<FLOAT>::ARluNonSymGenEig(int, ARluNonSymMatrix<TYPE>&, ARluNonSymMatrix<TYPE>&, char*, int, FLOAT, int, FLOAT*, bool) [with FLOAT = double]': areig.h:773: instantiated from `int AREig(FLOAT*, FLOAT*, FLOAT*, int, int, FLOAT*, int*, int*, int, FLOAT*, int*, int*, int, char*, int, FLOAT, int, FLOAT*, bool) [with FLOAT = double]' ansymgre.cc:87: instantiated from here /usr/include/arpack++/arlgnsym.h:193: error: no matching function for call to ` ARluNonSymGenEig<double>::DefineParameters(int, int&, ARluNonSymPencil<double, double>*, <unknown type>, ARluNonSymPencil<double, double>*, <unknown type>, char*&, int&, double&, int&, double*&, bool&)' /usr/include/arpack++/argeig.h:128: error: candidates are: void ARGenEig<FLOAT, TYPE, FOP, FB>::DefineParameters(int, int, FOP*, typename ARStdEig<FLOAT, TYPE, FOP>::TypeOPx, FB*, void (FB::*)(TYPE*, TYPE*), char*, int, FLOAT, int, TYPE*, bool) [with FLOAT = double, TYPE = double, FOP = ARluNonSymPencil<double, double>, FB = ARluNonSymPencil<double, double>] /usr/include/arpack++/armat.h: In member function `void ARluNonSymPencil<T, S>::DefineMatrices(ARluNonSymMatrix<TYPE>&, ARluNonSymMatrix<TYPE>&) [with TYPE = double, FLOAT = double]': areig.h:191: instantiated from `int AREig(FLOAT*, FLOAT*, FLOAT*, int, int, FLOAT*, int*, int*, int, FLOAT*, int*, int*, int, char*, int, FLOAT, int, FLOAT*, bool) [with FLOAT = double]' ansymgre.cc:87: instantiated from here /usr/include/arpack++/armat.h:25: error: `int ARMatrix<double>::m' is protected /usr/include/arpack++/arlnspen.h:675: error: within this context /usr/include/arpack++/armat.h:25: error: `int ARMatrix<double>::m' is protected /usr/include/arpack++/arlnspen.h:675: error: within this context /usr/include/arpack++/armat.h:25: error: `int ARMatrix<double>::n' is protected /usr/include/arpack++/arlnspen.h:675: error: within this context /usr/include/arpack++/armat.h:25: error: `int ARMatrix<double>::n' is protected /usr/include/arpack++/arlnspen.h:675: error: within this context #--------------------------------------------------- The first error above is the now familiar one of "<unknown type>". That is solved by putting "&" in before the 4th and 6th arguments of DefineParameters function at line 193 of /usr/include/arpack++/arlgnsym.h and making lines 193~196 of this file as: %< %< ------------------------------------------------ DefineParameters(A.ncols(), nevp, &Pencil, &ARluNonSymPencil<FLOAT, FLOAT>::MultInvBAv, &Pencil, &ARluNonSymPencil<FLOAT, FLOAT>::MultBv, whichp, ncvp, tolp, maxitp, residp, ishiftp); %< %< ------------------------------------------------ That leaves us with the second type of errors that a variable "is protected within this context". That happens because the class ARluNonSymPencil(in arlnspen.h) contains ARluNonSymMatrix<TYPE>* A and ARluNonSymMatrix<TYPE>* B (as protected members). And the class ARluNonSymMatrix (in arlnsmat.h) is derived from the class ARMatrix(defined in armat.h) which contains the "n" and "m" variables as protected ints that ARluNonSymPencil is trying to access. Which, of course, is not allowed in C++. I am not sure how to solve the last problem (except to make "n" and "m" as public. Not sure if that is a good idea). Have my earlier changes that I did to remove other compiler errors anything to do with this last problem? And more important, if that problem is not solved, no program needing that class will compile, rendering this packages unusable. Thanks, ->HS __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]