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 9.2.0.1.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 9.2.0.8 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?

 

Other related posts: