Re: Compilation errors
Al Davis <[email protected]> Fri, 25 Oct 2002 21:09:29 -0600
| Newsgroups | gmane.comp.gnu.gnucap.devel,gmane.comp.gnu.gnucap.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Thursday 24 October 2002 02:38 pm, Ko, Yao wrote: > I just downloaded gnucap, versions 0.30, 0.31 and 0.32 and all these > versions had similar compilation errors. I'm running RedHat 8.0 with GCC > 3.2 on Intel arch. > > Here is a snippet of the error when I ran configure; make: > > [...] > cat Make1 Make2.g++ Make3 Make.depend >O/Makefile > (cd O; make -k) > make[2]: Entering directory `/cais2/yaok/development/gnucap-0.31/src/O' > g++ -DUNIX -O2 -DNDEBUG -I.. -I. -fno-exceptions -W -c ../m_matrix.cc > ../m_matrix.cc: In member function `BSMATRIX<T>& BSMATRIX<T>::fbsub(T*, > const > T*, T*) [with T = double]': > ../m_matrix.cc:438: instantiated from here > ../m_matrix.cc:410: `copy_n' undeclared in namespace `std' "copy_n" is a function that is supplied with some versions of STL but not others. I thought all Linux versions used the GNU STL, which did supply it. In 0.31 and earlier, you need to #define NEEDS_COPY_N in the Makefile (Make2.g++). You should not see this problem with 0.32, because it (supposedly) is fixed to never use the questionable STL copy_n. The confugure script should take care of this, but doesn't. It should be a non-issue in 0.32, but is in earlier versions. > g++ -DUNIX -O2 -DNDEBUG -I.. -I. -fno-exceptions -W -c ../u_xprobe.cc > ../u_xprobe.cc:29: default argument given for parameter 1 of `double > XPROBE::operator()(mod_t = mtNONE, bool = false) const' > ../u_xprobe.h:51: after previous specification in `double > XPROBE::operator()(mod_t = mtNONE, bool = false) const' The default arguments are given twice. To fix, remove them from u_xprobe.cc:29. It is not a problem on older versions of g++, and will be fixed in 0.33. Thanks. > The manual says that "any high quality C++ compiler available today should > work." That's the intent. Sometimes there are bugs. Thanks for the bug report. Version 0.32 is available from ftp://progeny.isu.edu/pub/gnucap/gnucap-0.32.tar.gz . It should appear on the gnu and geda sites soon. There are some other documents, including papers and presentations, at progeny.isu.edu that may be of interest.