[Pkg-scicomp-devel] Bug#619011: libarpack++2-dev: STL vector support not functioning

Dominik Wójt domin144 at poczta.onet.pl
Sun Mar 20 12:47:15 UTC 2011


Package: libarpack++2-dev
Version: 2.3-1.1
Severity: normal

Header file arch.h has been patched to use newer namespace based header for STL
vectors.
        #inlcude <vector.h>
has been changed to:
        #include <vector>
while in file arssym.h dirctive:
        #ifdef STL_VECTOR_H
is still used and the vector<> is used without std:: namespace qualifier.

Header file <vector.h> seems to be not availble any longer. Using:
        #include <vector>
        #define STL_VECTOR_H // !!! trying to get around the problem with old
headers used
        using namespace std;
        #include <arpack++/arssym.h>
doesn't help as I get:



-------------- Build: Debug in lab02 ---------------

Compiling: ArpackWrapper.cc
In file included from /usr/include/arpack++/arssym.h:23:0,
                 from
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:6:
/usr/include/arpack++/arrssym.h: In member function ‘std::vector<ARFLOAT>*
ARrcSymStdEig<ARFLOAT>::StlEigenvalues(bool, bool)’:
/usr/include/arpack++/arrssym.h:347:50: error: there are no arguments to
‘ValSize’ that depend on a template parameter, so a declaration of
‘ValSize’ must be available
/usr/include/arpack++/arrssym.h:347:50: note: (if you use ‘-fpermissive’,
G++ will accept your code, but allowing the use of an undeclared name is
deprecated)
/usr/include/arpack++/arrssym.h:350:3: error: ‘nconv’ was not declared in
this scope
/usr/include/arpack++/arrssym.h: In member function ‘std::vector<ARFLOAT>*
ARrcSymStdEig<ARFLOAT>::StlEigenvector(int)’:
/usr/include/arpack++/arrssym.h:364:8: error: ‘VectorsOK’ was not declared
in this scope
/usr/include/arpack++/arrssym.h:367:24: error: there are no arguments to
‘ValSize’ that depend on a template parameter, so a declaration of
‘ValSize’ must be available
/usr/include/arpack++/arrssym.h:371:32: error: ‘EigVec’ was not declared in
this scope
/usr/include/arpack++/arrssym.h:371:41: error: ‘n’ was not declared in this
scope
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc: In
function ‘void Lanczos_symm(Eigen::SparseMatrix<double>&,
std::vector<double>&, std::vector<Eigen::Matrix<double, 10000, 1> >&)’:
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:42:95:
warning: deprecated conversion from string constant to ‘char*’
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:43:46:
error: no match for ‘operator=’ in ‘eigenVectors = *
prob.ARSymStdEig<double, TMatrixForArpackpp>::<anonymous>.ARrcStdEig<ARFLOAT,
ARTYPE>::StlEigenvectors [with ARFLOAT = double, ARTYPE = double](0)’
/usr/include/c++/4.5/bits/vector.tcc:156:5: note: candidate is:
std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const
std::vector<_Tp, _Alloc>&) [with _Tp = Eigen::Matrix<double, 10000, 1>, _Alloc
= std::allocator<Eigen::Matrix<double, 10000, 1> >]
In file included from /usr/include/arpack++/arseig.h:25:0,
                 from /usr/include/arpack++/arssym.h:22,
                 from
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:6:
/usr/include/arpack++/arrseig.h: In member function ‘std::vector<ARTYPE>*
ARrcStdEig<ARFLOAT, ARTYPE>::StlEigenvectors(bool) [with ARFLOAT = double,
ARTYPE = double]’:
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:43:44:
instantiated from here
/usr/include/arpack++/arrseig.h:1416:3: error: cannot convert
‘std::vector<double>::iterator’ to ‘double*’ in assignment
In file included from /usr/include/arpack++/arssym.h:23:0,
                 from
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:6:
/usr/include/arpack++/arrssym.h: In member function ‘std::vector<ARFLOAT>*
ARrcSymStdEig<ARFLOAT>::StlEigenvalues(bool, bool) [with ARFLOAT = double]’:
/mnt/dane/dokumenty/pwr/magisterskie/2011l/OOP/lab02/ArpackWrapper.cc:44:42:
instantiated from here
/usr/include/arpack++/arrssym.h:349:3: error: cannot convert
‘std::vector<double>::iterator’ to ‘double*’ in assignment
Process terminated with status 1 (0 minutes, 1 seconds)
11 errors, 1 warnings (0 minutes, 1 seconds)




lines 42 to 44 of my file:
ARSymStdEig< double, TMatrixForArpackpp > prob( n, n, &M_arp,
&TMatrixForArpackpp::MultMv );
eigenVectors = *( prob.StlEigenvectors() );
eigenValues = *( prob.StlEigenvalues() );

For now I will resign from using StlEigenvalues() and StlEigenvectors() and
just stick to array functions.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libarpack++2-dev depends on:
ii  libarpack++2c2a  2.3-1.1                 Object-oriented version of the ARP
ii  libarpack2-dev   2.1+parpack96.dfsg-3+b1 Fortran77 subroutines to solve lar

libarpack++2-dev recommends no packages.

libarpack++2-dev suggests no packages.





More information about the Pkg-scicomp-devel mailing list