title: Oracle Pro*C Precompiler error PCC-S-02201: Encountered the symbol "_Bool"
body: <p>An existing program is being converted from AIX to RedHat Linux. Oracle Pro*C is causing problems upon precompilation. The compilation error occurs with the file <code>cursesh.h</code> for the <code>bool</code> <code>typedef</code>.</p>
  
  <p>The precompilation configuration:</p>
  
  <pre><code>sys_include=($ORACLE_HOME/precomp/public,$ORACLE_HOME/precomp/syshdr,/usr/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include)
  ltype=short
  define=__x86_64__
  </code></pre>
  
  <p>The includes path is matching with gcc compiler path. </p>
  
  <p>Please help me in resolving the the compilation error. Do I need to include any other preprocessor symbol or missing anything in <code>sys_include</code>?</p>
  
  <pre><code>Pro*C/C++: Release 12.1.0.1.0 - Production on Thu Jan 23 10:29:54 2014
  
  Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
  
  System default option values taken from: /opt/oracle/product/12.1.0/precomp/admin/pcscfg.cfg
  
  Syntax error at line 374, column 2, file /usr/include/curses.h:
  Error at line 374, column 2 in file /usr/include/curses.h
          bool    _notimeout;     /* no time out on function-key entry? */
  .1
  PCC-S-02201, Encountered the symbol "_Bool" when expecting one of the following:
  
     } char, const, double, enum, float, int, long, ulong_varchar,
     OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
     OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
     OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
     struct, union, unsigned, utext, uvarchar, varchar, void,
     volatile, a typedef name,
  </code></pre>
  
  <p>PCSCFG.CFG:</p>
  
  <pre><code>$ more /opt/oracle/product/12.1.0/precomp/admin/pcscfg.cfg
  
  sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include)
  ltype=short
  define=__x86_64__
  </code></pre>