Re: [Lapackpp-devel] lapack++ compilation failure on linux
Status: Beta
Brought to you by:
cstim
From: Christian S. <sti...@tu...> - 2005-10-06 14:15:48
|
Dear Vincent, I have never heard of the "insure" compiler, so I have to say that lapackpp hasn't been tested with that before. The error you are seeing is caused because I some C extensions which are specific to the GNU gcc have been used when dealing with complex numbers. I think you can easily solve this issue by changing the line 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 from the file you just edited) should then fix your error. (More specifically, the file "include/lacomplex" used the __complex__ attribute of the gcc, which obviously your insure compiler doesn't know. Fortunately, this particular section will be disabled if the 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 > 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 -I../../include > -DLA_COMPLEX_SUPPORT -DHAVE_CONFIG_H -DLinux -g -O2 -Wall -MT blas1pp.lo > -MD -MP -MF .deps/blas1pp.Tpo -c blas1pp.cc -DPIC > WARNING: optimization flag O2 discarded for Insure++ compile > In file included from blas1pp.cc:30: > ../../include/lavc.h: In member function `LaVectorComplex& > LaVectorComplex::operator=(double)': > ../../include/lavc.h:334: error: call of overloaded `complex(double&)' is > ambiguous > ../../include/lacomplex:578: error: candidates are: > la::complex<double>::complex(const la::complex<double>&) > ../../include/lacomplex:625: error: > la::complex<double>::complex(double) > ../../include/lacomplex:649: error: > la::complex<double>::complex(const std::complex<double>&) > ../../include/lacomplex:587: error: > la::complex<double>::complex(const la::complex<long double>&) > ../../include/lacomplex:586: error: > la::complex<double>::complex(const la::complex<float>&) > ../../include/lacomplex:641: error: > la::complex<double>::complex(double, double) > Driver: error executing "Run -DHAVE_CONFIG_H -I. -I. -I../.. > -I../../include -I../../include -DLA_COMPLEX_SUPPORT -DHAVE_CONFIG_H > -DLinux -g -O2 -Wall -MT blas1pp.lo -MD -MP -MF .deps/blas1pp.Tpo -c > blas1pp.cc -DPIC" > make[3]: *** [blas1pp.lo] Erreur 1 > make[3]: Leaving directory > `/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/blaspp' > make[1]: *** [all-recursive] Erreur 1 > make[1]: Leaving directory `/home/bipop/acary/src/lapackpp-2.4.0' > make: *** [all] Erreur 2 > > > |