You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Martin Sebor <se...@roguewave.com> on 2007/04/12 22:44:58 UTC

errors using EDG eccp on Solaris 10

I've been trying to set up the EDG eccp demo, version 3.9,
for building stdcxx on Solaris 10, and I'm encountering some
problems with both gcc and Sun cc as the back end. I thought
I'd post what I'm up against here for future reference.

Here's the setup using gcc as the back end (the default for
the demo):

$ cat t.cpp && cat $EDG_BASE/edg_eccp_config && eccp -A -v t.cpp
#include <stdio.h>

int main () { puts ("Hello, World!"); }
################################################################################
#
# Configuration file for the EDG eccp script.
#
# This file must be located in the directory specified by the EDG_BASE
# environment variable.  It is used to set other environment variables
# that are used by the eccp script.
#
################################################################################
EDG_PRELINK_DEFAULT_OPTIONS=-fsolaris
EDG_C_TO_OBJ_DEFAULT_OPTIONS=
EDG_C_TO_OBJ_C99_OPTIONS="-std=gnu9x"
EDG_C_TO_OBJ_COMPILER=gcc
EDG_SUPPRESS_PATCH_MUNCH=1
EDG_CPFE_DEFAULT_OPTIONS=--diag_remark=161
EDG_DEFAULT_INCLUDE_DIRS="$EDG_BASE/include:/usr/include"
EDG_DEFAULT_DEFINES="-Dsparc -Dunix -Dsun"
COLLECT_NO_DEMANGLE=1
export COLLECT_NO_DEMANGLE
Edison Design Group C/C++ Front End, version 3.9 (Mar 23 2007 16:43:39)
Copyright 1988-2007 Edison Design Group, Inc.

"/usr/include/iso/stdio_iso.h", line 345: error: identifier "getc" is 
undefined
   inline int getchar() { return getc(stdin); }
                                 ^

"/usr/include/iso/stdio_iso.h", line 346: error: identifier "putc" is 
undefined
   inline int putchar(int _x) { return putc(_x, stdout); }
                                       ^

"/usr/include/stdio.h", line 108: error: namespace "std" has no member 
"getc"
   using std::getc;
              ^

"/usr/include/stdio.h", line 111: error: namespace "std" has no member 
"putc"
   using std::putc;
              ^

4 errors detected in the compilation of "t.cpp".


Here's the same exercise but using Sun cc 5.8 as the back end:


$ cat t.cpp && cat $EDG_BASE/edg_eccp_config && eccp -A -v t.cpp
#include <stdio.h>

int main () { puts ("Hello, World!"); }
################################################################################
#
# Configuration file for the EDG eccp script.
#
# This file must be located in the directory specified by the EDG_BASE
# environment variable.  It is used to set other environment variables
# that are used by the eccp script.
#
################################################################################
EDG_PRELINK_DEFAULT_OPTIONS=-fsolaris
EDG_C_TO_OBJ_DEFAULT_OPTIONS=
EDG_C_TO_OBJ_C99_OPTIONS=
EDG_C_TO_OBJ_COMPILER=cc
EDG_SUPPRESS_PATCH_MUNCH=1
EDG_CPFE_DEFAULT_OPTIONS=--diag_remark=161
EDG_DEFAULT_INCLUDE_DIRS="$EDG_BASE/include:/usr/include"
EDG_DEFAULT_DEFINES="-Dsparc -Dunix -Dsun"
COLLECT_NO_DEMANGLE=1
export COLLECT_NO_DEMANGLE

Edison Design Group C/C++ Front End, version 3.9 (Mar 23 2007 16:43:39)
Copyright 1988-2007 Edison Design Group, Inc.

"/usr/include/iso/stdio_iso.h", line 345: error: identifier "getc" is 
undefined
   inline int getchar() { return getc(stdin); }
                                 ^

"/usr/include/iso/stdio_iso.h", line 346: error: identifier "putc" is 
undefined
   inline int putchar(int _x) { return putc(_x, stdout); }
                                       ^

"/usr/include/stdio.h", line 108: error: namespace "std" has no member 
"getc"
   using std::getc;
              ^

"/usr/include/stdio.h", line 111: error: namespace "std" has no member 
"putc"
   using std::putc;
              ^

4 errors detected in the compilation of "t.cpp".