AIX6.1+xlc8.0+ACE5.6 环境

近期需要AIX6.1+xlc8.0+ACE5.6的环境,某些环节破费周折,部分记录如下:

 

安装xlc8.0的过程不是多么复杂,可是安装之后报usr/vacpp/include与/usr/include中的头文件冲突,实际上应该是/usr/vacpp/include中含有部分头文件,且优先搜索这个路径的,里面的文件相当于是原/usr/include的补丁,即新的里面include了老的.h文件。
怀疑是AIX6.1自带的/usr/include未被兼容导致,随搜索补丁,最后安装补丁搞定。好多bff文件啊。
安装的如下补丁
ftp://public.dhe.ibm.com/aix/products/ccpp/ptfs/vac.80.aix53TL6-61.apr2010.ptf.tar.Z
安装之后解决了xlc的1501-230 internal error错误

 

关于
xlC_r -qflag=w:w -qtemplateregistry=templateregistry.GNUmakefile.ACE -qeh=v6 -qfuncsect -qrtti=all -g -qcheck=nobounds:div:null -DACE_AIX_VERS=601   -I/hdbbackup/ACE5.6AIX -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I.. -DACE_BUILD_DLL  -c  -o .shobj/Service_Gestalt.o Service_Gestalt.cpp
"/hdbbackup/ACE5.6AIX/ace/Service_Types.h", line 185.43: 1540-0063 (S) The text "." is unexpected.
gmake[1]: *** [.shobj/Service_Gestalt.o] Error 1
gmake[1]: Leaving directory `/hdbbackup/ACE5.6AIX/ace'
gmake: *** [ACE] Error 2

的报错
将ACE5.6里面的ace/Service_Types.h 185行
  ACE_Module_Type *find (const ACE_TCHAR *mod_name) const;
的mod_name换成module_name,解决


所有用ACE5.6的版本都报如下错误
gmake: *** No rule to make target `__prebuild__', needed by `all'.  Stop.
通过在rules.common.GNU中,在target "all"前增加一行 .PHONY: __prebuild__ 解决,linux solaris等都曾经如此做过


ACE5.6的aix_ibm平台文件仅支持很古老的编译器,及vac6,7,根本不支持安装的xlc8.0。
拷贝7的配置改成8,可以,后来从ACE5.8中看到xlc7.0,8.0,9.0的配置实际都是一样的,且为了统一,就用ACE5.8里面的平台配置文件了。

你可能感兴趣的:(Module,Solaris,IBM,AIX,include,编译器)