#122 Can't build on Solaris w/ gcc 3.4.3

0.60
closed
compile (52)
3
2016-12-11
2005-01-03
No

I'm trying to build on a SPARC, with the Solaris 10
build-72 image. I've compiled a gcc 3.4.3, with c++
support. After I fix proc/check_funs.cpp to include
the curses header, the compilation of that source file
yields many of:

Making all in .
gmake[1]: Entering directory `/tmp/aspell-0.60.2'
depbase=`echo prog/check_funs.o | sed
's|[^/]*$|.deps/&|;s|\.o$||'`; \ if g++ -DHAVE_CONFIG_H -I. -I. -I./gen -I./gen
-I./common -I./interfaces/cc/
-I./modules/speller/default/
-DLOCALEDIR=\"/usr/local/share/locale\" -g -O2
-fno-exceptions -MT prog/check_funs.o -MD -MP -MF
"$depbase.Tpo" -c -o prog/check_funs.o
prog/check_funs.cpp; \ then mv -f "$depbase.Tpo" "$depbase.Po"; else rm -f
"$depbase.Tpo"; exit 1; fi
In file included from
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/vector:71,
from ./common/vector.hpp:10,
from prog/checker_string.hpp:11,
from prog/check_funs.hpp:10,
from prog/check_funs.cpp:33:
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:396:37:
macro "erase" passed 2 arguments, but takes just 0
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:654:32:
macro "erase" passed 1 arguments, but takes just 0
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:675:46:
macro "erase" passed 2 arguments, but takes just 0
In file included from
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/vector:71,
from ./common/vector.hpp:10,
from prog/checker_string.hpp:11,
from prog/check_funs.hpp:10,
from prog/check_funs.cpp:33:
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:675:
error: declaration of
`__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::vector<_Tp, _Alloc> > std::vector<_Tp, _Alloc>::erase'
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:654:
error: conflicts with previous declaration
`__gnu_cxx::__normal_iterator<typename _Alloc::pointer,
std::vector<_Tp, _Alloc> > std::vector<_Tp, _Alloc>::erase'
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:701:
error: `stdscr' is not a type
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/bits/stl_vector.h:701:37:
macro "erase" passed 2 arguments, but takes just 0
In file included from
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../../include/c++/3.4.3/vector:72,
from ./common/vector.hpp:10,
from prog/checker_string.hpp:11,
from prog/check_funs.hpp:10,
from prog/check_funs.cpp:33:

Is this a g++ version issue? Does anyone know what
causes this?

Discussion

  • Kevin Atkinson

    Kevin Atkinson - 2005-01-03

    Logged In: YES
    user_id=6591

    It looks like one of your system headers is defining "erase"
    as a macro. Try undefining it.

     
  • Chris P. Ross

    Chris P. Ross - 2005-01-03

    Logged In: YES
    user_id=12814

    Hmm. Yeah, it's curses.h. (ref bug #1095136).
    If I #def NOMACROS, it works. This is described in the
    curses.h as an option to cause it to use the functions
    rather than the macro's, which are faster. So, if any of
    the "macro'd" things are being used, they might be slower
    for me, but...

     
  • Chris P. Ross

    Chris P. Ross - 2005-01-03

    Logged In: YES
    user_id=12814

    So, it turns out that this is a Solaris / wide curses
    problem. The configure script detects wide curses, but
    between this bug and bug # 1095136, I am fairly of the
    opinion that Solaris curses doesn't meet what aspell expects
    a wide curses to be. It just doesn't find most of the symbols.
    If I reconfigure with --disable-wide-curses, it seems to
    build alright without this problem, or the one mentioned in
    bug # 1095136.
    Should I open a new bug about the mis-identification of the
    curses on Solaris 10?

     
  • Kevin Atkinson

    Kevin Atkinson - 2005-01-04

    Logged In: YES
    user_id=6591

    Well if you can get Aspell to compile correctly with the
    wide curses support I would like to get that working for the
    next release.

     
  • Kevin Atkinson

    Kevin Atkinson - 2005-01-12
    • priority: 5 --> 3
     
  • Kevin Atkinson

    Kevin Atkinson - 2010-03-04
    • milestone: --> 0.60
     
  • Kevin Atkinson

    Kevin Atkinson - 2016-12-11
    • Status: open --> closed
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks