egcs-1.1.2 installation, sparc-solaris
Michael Smith
moses@pentagram.nslug.ns.ca
Fri May 7 15:01:00 GMT 1999
I've run into a problem installing egcs-1.1.2 on an ultrasparc running
Solaris 2.6. While building libio, cc1plus gives up. I'm not the first
person to see this problem, see:
http://www.cygnus.com/ml/egcs-bugs/1998-Sep/0208.html
The actual error message looks like this:
test x"yes" != xyes || \
/ccnroot/michael/objdir/gcc/xgcc -B/ccnroot/michael/objdir/gcc/ -c -g
-O2 -fno-implicit-templates -I. -I../../../egcs-1.1.2/libio -nostdinc++
`case "-g -g -O2 -fno-implicit-templates" in *-fpic* ) echo -fpic ;; * )
echo -fPIC ;; esac` ../../../egcs-1.1.2/libio/isscan.cc -o pic/isscan.o
../../../egcs-1.1.2/libio/isscan.cc: In method `class istream & istream::scan(const char * ...)':
../../../egcs-1.1.2/libio/isscan.cc:34: no matching function for call to
`streambuf::vscan (const char *&, void *&, istream *)'
../../../egcs-1.1.2/libio/streambuf.h:403: candidates are:
streambuf::vscan(const char *, char *, ios *)
make[2]: *** [isscan.o] Error 1
I traced it back to libio/gen-params picking the default of char * to
typedef _G_va_list. gen-params writes a "typedef va_list XXXva_list" into
dummy.c and preprocesses it so that va_list can be replaced by a #define
(if it should be). But va_list isn't a #define, it's a typedef...
I may be wrong about some of this.
To fix it, I put a line like
va_list="void *"
near the top of gen-params.
Why doesn't libio just use va_list instead of _IO_va_list and _G_va_list?
arghghghghgg.... ;)
More information about the Gcc-bugs
mailing list