系统移植时,用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,问题解决!