솔라리스 11에서 11g server, 9i client를 각각 설치하여 사용중입니다.
쉘은 tcsh 쓰고있구요. path를 11g 9i 둘다 잡고 주석처리하면서 프리컴파일 해보고있는데요.
에러 전문 입니다.
Syntax error at line 144, column 17, file /usr/include/string.h:
Error at line 144, column 17 in file /usr/include/string.h
extern __thread char *__strdupa_str;
................1
PCC-S-02201, Encountered the symbol "char" when expecting one of the following:
; , = ( [
The symbol ";" was substituted for "char" to continue.
Syntax error at line 145, column 17, file /usr/include/string.h:
Error at line 145, column 17 in file /usr/include/string.h
extern __thread size_t __strdupa_len;
................1
PCC-S-02201, Encountered the symbol "size_t" when expecting one of the following
:
; , = ( [
The symbol ";" was substituted for "size_t" to continue.
Syntax error at line 122, column 14, file /usr/include/iso/stdlib_iso.h:
Error at line 122, column 14 in file /usr/include/iso/stdlib_iso.h
extern div_t div(int, int);
.............1
PCC-S-02201, Encountered the symbol "div" when expecting one of the following:
; , = ( [
The symbol ";" was substituted for "div" to continue.
Syntax error at line 128, column 15, file /usr/include/iso/stdlib_iso.h:
Error at line 128, column 15 in file /usr/include/iso/stdlib_iso.h
extern ldiv_t ldiv(long, long);
..............1
PCC-S-02201, Encountered the symbol "ldiv" when expecting one of the following:
; , = ( [
The symbol ";" was substituted for "ldiv" to continue.
Syntax error at line 131, column 32, file /usr/include/iso/stdlib_iso.h:
Error at line 131, column 32 in file /usr/include/iso/stdlib_iso.h
extern size_t mbstowcs(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD,
...............................1
PCC-S-02201, Encountered the symbol "*" when expecting one of the following:
, )
Syntax error at line 133, column 27, file /usr/include/iso/stdlib_iso.h:
Error at line 133, column 27 in file /usr/include/iso/stdlib_iso.h
extern int mbtowc(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD, size_t);
..........................1
PCC-S-02201, Encountered the symbol "*" when expecting one of the following:
, )
Syntax error at line 148, column 27, file /usr/include/iso/stdlib_iso.h:
Error at line 148, column 27 in file /usr/include/iso/stdlib_iso.h
extern int wctomb(char *, wchar_t);
..........................1
PCC-S-02201, Encountered the symbol "wchar_t" when expecting one of the followin
g:
... auto, char, const, double, enum, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
union, unsigned, utext, uvarchar, varchar, void, volatile,
a typedef name, exec oracle, exec oracle begin, exec,
exec sql, exec sql begin, exec sql type, exec sql var,
The symbol "auto," was substituted for "wchar_t" to continue.
Syntax error at line 149, column 60, file /usr/include/iso/stdlib_iso.h:
Error at line 149, column 60 in file /usr/include/iso/stdlib_iso.h
extern size_t wcstombs(char *_RESTRICT_KYWD, const wchar_t *_RESTRICT_KYWD,
...........................................................1
PCC-S-02201, Encountered the symbol "*" when expecting one of the following:
, ( ) [
The symbol "*" was ignored.
Syntax error at line 50, column 16, file /usr/include/iso/stdlib_c99.h:
Error at line 50, column 16 in file /usr/include/iso/stdlib_c99.h
extern lldiv_t lldiv(long long, long long);
...............1
PCC-S-02201, Encountered the symbol "lldiv" when expecting one of the following:
; , = ( [
The symbol ";" was substituted for "lldiv" to continue.
Syntax error at line 206, column 30, file /usr/include/stdlib.h:
Error at line 206, column 30 in file /usr/include/stdlib.h
extern int getpw(uid_t, char *);
.............................1
PCC-S-02201, Encountered the symbol "*" when expecting one of the following:
, )
Syntax error at line 30, column 3, file /usr/scada/prog/include/finfo.h:
Error at line 30, column 3 in file /usr/scada/prog/include/finfo.h
byte *fileaddr[CLASS_SIZE_MAX];
..1
PCC-S-02201, Encountered the symbol "byte" when expecting one of the following:
char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,
The symbol "enum," was substituted for "byte" to continue.
Syntax error at line 63, column 5, file /usr/scada/prog/include/finfo.h:
Error at line 63, column 5 in file /usr/scada/prog/include/finfo.h
dword version; /* version no. */
....1
PCC-S-02201, Encountered the symbol "dword" when expecting one of the following:
char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,
Syntax error at line 0, column 0, file OracleCOM.pc:
Error at line 0, column 0 in file OracleCOM.pc
PCC-S-02201, Encountered the symbol "" when expecting one of the following:
; : an identifier, end-exec, random_terminal
Error at line 0, column 0 in file OracleCOM.pc
PCC-F-02102, Fatal error while doing C preprocessing
*** Error code 1
make: Fatal error: Command failed for target `OracleCOM.c'
shell returned 1
pcscfg.cfg 옵션도 건드려보고 여러가지 시도해본 결과,
OS버전이 틀린것이 원인이라 생각하고있는데요.
솔라리스10에선 아무 설정없이 프리컴파일이 잘되었는데 11에선
/usr/include 에 있는 기본 헤더들도 제대로 못읽고 에러를 뿜네요.
헤더들 열어보면서 Makefile에 DEFINE값 넣어주면서 컴파일하면
하나씩 에러가 잡히긴 하는데 하나없애면 두세개 생기고 이럽니다...
솔라리스11에서 정확한 DEFINE셋팅 값이라던지 해결방법 아시는분
답변좀 부탁드립니다.
|