linux,编译proc出错解决办法

来源:互联网 发布:两张表格相同数据匹配 编辑:程序博客网 时间:2024/05/20 02:25

出错信息

proc PARSE=FULL DBAccess.pc

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

System default option values taken from: /home/oracle/app/product/9.2.0/precomp/admin/pcscfg.cfg

Error at line 34, column 11 in file /usr/include/stdio.h
# include <stddef.h>
……….1
PCC-S-02015, unable to open include file
Error at line 31, column 10 in file /usr/include/bits/types.h
#include <stddef.h>
………1
PCC-S-02015, unable to open include file
Error at line 14, column 10 in file /usr/include/_G_config.h
#include <stddef.h>
………1
PCC-S-02015, unable to open include file
Error at line 48, column 10 in file /usr/include/wchar.h
#include <stddef.h>
………1
PCC-S-02015, unable to open include file
Error at line 48, column 10 in file /usr/include/wchar.h
#include <stddef.h>
………1
PCC-S-02015, unable to open include file
Error at line 31, column 10 in file /usr/include/gconv.h
#include <stddef.h>
………1
PCC-S-02015, unable to open include file
Syntax error at line 72, column 26, file /usr/include/gconv.h:
Error at line 72, column 26 in file /usr/include/gconv.h
                            unsigned char **, size_t *, int, int);
…………………….1
PCC-S-02201, Encountered the symbol “size_t” when expecting one of the following
:

   … 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 “enum,” was substituted for “size_t” to continue.

Syntax error at line 88, column 7, file /usr/include/gconv.h:
Error at line 88, column 7 in file /usr/include/gconv.h
………..

出现以上异常的原因是proc编译时找不到相应的lib文件,解决办法是

1、vim $ORACLE_HOME/precomp/admin/pcscfg.cfg

在pcscft.cfg文件中添加对应的include目录。

找出相应的include目录办法如下:

find / -name stddef.h 可以找到它的准确位置。找出stddef.h的真实路径,取gcc 目录入的includ路径,如:

/usr/lib/gcc/i386-redhat-Linux/4.1.1/include/stddef.h

0 0
原创粉丝点击