关于pro*c编译时报PCC-S-02015

来源:互联网 发布:网络不行怎么办 编辑:程序博客网 时间:2024/04/30 06:48

系统移植时,用makefile编译pc文件时,出现如下错误

PCC-S-02015, unable to open include file

Error at line 25, column 10 in file /usr/include/alloca.h

PCC-S-02015, unable to open include file
Error at line 147, column 10 in file /usr/include/sys/types.h

PCC-S-02015, unable to open include file
Error at line 33, column 10 in file /usr/include/stdlib.h


用find / -name stdlib.h

/usr/lib/syslinux/com32/include/stdlib.h
/usr/lib/bcc/include/stdlib.h
/usr/lib/bcc/include/bsd/stdlib.h
/usr/share/splint/lib/stdlib.h
/usr/include/stdlib.h
/usr/include/bits/stdlib.h
/usr/include/xulrunner-sdk-1.9/system_wrappers/stdlib.h

发现在默认的/usr/include/stdlib.h是存在的。


经过网上搜索资料发现问题出在$ORACLE_HOME/precomp/admin/pcscfg.cfg中,编译proc时对应的gcc版本不一致。


以下是摘录别人的解决方法:出处: 在linux编择proc出错解决办法

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

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

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

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

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

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

原始pcscfg.cfg:

sys_include=(/build/s630/precomp/public,/usr/include,/opt/gcc33/lib64/gcc-lib/x86_64-suse-linux/3.3/include,/usr/lib/gcc/x86_64-redhat-linux/3.3.3/include,/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/include)
ltype=short
define=__x86_64__


修改后:

sys_include=(/build/s630/precomp/public,/usr/include,/opt/gcc33/lib64/gcc-lib/x86_64-suse-linux/3.3/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include,/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/include)
ltype=short
define=__x86_64__


继续makefile,问题解决!