PRO*C compiling AIX 5.3

  • From: "Ken Wallis" <kwallis@xxxxxxxxxxxxxxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 5 Mar 2008 12:41:42 +1100

In November, I posted a workaround here to this issue which I had run into and 
which had been previously referenced on this list.  At that time I couldn't 
tell precisely which AIX release introduced the problem, but this morning I 
received an email from Christoph Brändle which ties it down to 5300-06 and 
identifies that Oracle 10g Release 2 still exhibits this problem on AIX 5.3.



You have posted a problem concerning the /usr/include/standards.h and its 
solution in the <>  mailing list last 


I just run into the same problem today with AIX 5300-06 and Oracle 
Apparently, Oracle 10g Release 2 is still not able to handle the #warning.


We also have an AIX 5300-05 machine, and here the problem does not occur. I was 
able to verify that the change in the standard.h file occurred with the patch 
from 5300-05 to 5300-06.


You might want to add this comment to your valued posting.


Best Regards

Christoph Brändle

Swisslog AG


PRO*C compiling AIX 5.3
2007-11-27       - By Ken Wallis

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 

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' 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.
#error  The -qdfp option is required to process DFP code in headers.


#if !defined(__IBM_PP_WARNING)
#error  The -qdfp option is required to process DFP code in headers.

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.


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 patchset, which upgraded and relinked

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.



Other related posts: