PRO*C compiling AIX 5.3
- From: "Ken Wallis" <kwallis@xxxxxxxxxxxxxxxxxxxxxxxxx>
- To: <oracle-l@xxxxxxxxxxxxx>
- Date: Tue, 27 Nov 2007 12:09:28 +1100
In July, Brian Shanblatt posted a query to this list regarding a problem with 9.2 Pro*C and AIX 5.3 for which there was no adequate answer (http://dba.5341.com/msg/81329.html). However, his post turned up in a Google search when I ran into the same error with the same components and this helped me understand that I had a soluble problem which I have now overcome. I wanted to add some value by posting a follow up. Brian, I recently ran into this same issue with a properly installed version of Oracle 'Pro*C/C++: Release 184.108.40.206.0' on AIX 5300-06. It appears that between AIX 5300-04 and 5300-06 IBM put a section into /usr/include/standards.h with this #warning line and Pro*C/C++ doesn't like it. This warning then appears to throw off the entire precompilation phase such that simple types such as size_t aren't defined and everything falls in a heap. After unsuccessfully trying various fiddles involving DEFINE= in my proc invocation, I decided that rather than modify standards.h in /usr/include, I would make a local copy of standards.h in the directory with my source code and header files and edit that. I changed IBM's: #if defined(__IBM_PP_WARNING) #warning The -qdfp option is required to process DFP code in headers. #else #error The -qdfp option is required to process DFP code in headers. #endif into: #if !defined(__IBM_PP_WARNING) #error The -qdfp option is required to process DFP code in headers. #endif My proc invocation already included INCLUDE=., so this local version of standards.h got pulled in instead of IBM's one and the proc command in the makefile then went through successfully. HTH, KEN WALLIS Technical Consultant PRO*C compiling AIX 5.3 2007-07-19 - By Brian Shanblatt Hi Peter and all. Thank you for your reply. I just did an install of the 220.127.116.11 patchset, which upgraded and relinked everything. The same problem occurred with pro*c on the standards.h file. I then relinked the precompilers and the shared client libraries. Same error. It might have something to do with the AIX patchsets. Metalink lists a whole bunch, and I will have the sysadmins on the machine check that we have them. Comments?