Re: [Lapackpp-devel] lapack++ compilation failure on linux
Status: Beta
Brought to you by:
cstim
From: Vincent A. <Vin...@in...> - 2005-10-06 15:00:58
|
Thank you Christian. Your answer solves my problem. Thank you very much. For information, Parasoft Insure++ is an automated runtime=20 application-testing product that detects elusive C/C++ errors such as=20 memory corruption, memory leaks, memory allocation errors, variable=20 initialization errors, variable definition conflicts, pointer errors,=20 library errors, I/O errors, and logic errors. Bye PS: A problem remains on the definition a min function in the source=20 file lasvd.cc. I skip it #if !LAPACK_USE_GCC3 # ifndef min # define min(A,B) ((A) < (B) ? (A) : (B) ) # endif #endif Christian Stimming wrote: > Dear Vincent, > > I have never heard of the "insure" compiler, so I have to say that=20 > lapackpp hasn't been tested with that before. > > The error you are seeing is caused because I some C extensions which=20 > are specific to the GNU gcc have been used when dealing with complex=20 > numbers. I think you can easily solve this issue by changing the line=20 > 50 in the file include/lacomplex.h.in into > > #define LAPACK_USE_GCC3 0 > > Calling "make" again (which will create the file include/lacomplex.h=20 > from the file you just edited) should then fix your error. > > (More specifically, the file "include/lacomplex" used the __complex__=20 > attribute of the gcc, which obviously your insure compiler doesn't=20 > know. Fortunately, this particular section will be disabled if the=20 > macro LAPACK_USE_GCC3 is defined to zero.) > > Christian > > > Vincent Acary schrieb: > >> Hi, >> >> I have a problem with the compilation of lapack++ on GNU/linux 2.6-10=20 >> using the compiler insure. >> >> It seems that the call of overloaded function are ambiguous (see below= ) >> >> Have you any idea ? >> >> Thanks >> >> >> insure -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include=20 >> -I../../include -DLA_COMPLEX_SUPPORT -DHAVE_CONFIG_H -DLinux -g -O2=20 >> -Wall -MT blas1pp.lo -MD -MP -MF .deps/blas1pp.Tpo -c blas1pp.cc -DPI= C >> WARNING: optimization flag O2 discarded for Insure++ compile >> In file included from blas1pp.cc:30: >> ../../include/lavc.h: In member function `LaVectorComplex& >> LaVectorComplex::operator=3D(double)': >> ../../include/lavc.h:334: error: call of overloaded=20 >> `complex(double&)' is >> ambiguous >> ../../include/lacomplex:578: error: candidates are: >> la::complex<double>::complex(const la::complex<double>&) >> ../../include/lacomplex:625: error: =20 >> la::complex<double>::complex(double) >> ../../include/lacomplex:649: error: =20 >> la::complex<double>::complex(const std::complex<double>&) >> ../../include/lacomplex:587: error: =20 >> la::complex<double>::complex(const la::complex<long double>&) >> ../../include/lacomplex:586: error: =20 >> la::complex<double>::complex(const la::complex<float>&) >> ../../include/lacomplex:641: error: =20 >> la::complex<double>::complex(double, double) >> Driver: error executing "Run -DHAVE_CONFIG_H -I. -I. -I../..=20 >> -I../../include -I../../include -DLA_COMPLEX_SUPPORT -DHAVE_CONFIG_H=20 >> -DLinux -g -O2 -Wall -MT blas1pp.lo -MD -MP -MF .deps/blas1pp.Tpo -c=20 >> blas1pp.cc -DPIC" >> make[3]: *** [blas1pp.lo] Erreur 1 >> make[3]: Leaving directory=20 >> `/home/bipop/acary/src/lapackpp-2.4.0/blaspp/src' >> make[2]: *** [all-recursive] Erreur 1 >> make[2]: Leaving directory `/home/bipop/acary/src/lapackpp-2.4.0/blasp= p' >> make[1]: *** [all-recursive] Erreur 1 >> make[1]: Leaving directory `/home/bipop/acary/src/lapackpp-2.4.0' >> make: *** [all] Erreur 2 >> >> >> > > --=20 Vincent ACARY Charge de recherche INRIA Rh=F4ne-Alpes Equipe BIPOP http://www.inrialpes.fr/bipop/ ZIRST, 655 avenue de l'Europe, MONTBONNOT 38334 ST ISMIER Cedex, FRANCE=20 Bureau D118 tel:+33 (0)4 76 61 52 29 fax:+33 (0)4 76 61 54 77=20 |