I got the answer for the problem I was having. I am including the following
solution for the sake of the users like who may be having same problem.
After setting up the following environment, following is the steps to
compile any proc program ( ex. my_test.pc).
1 Copy the $ORACLE_HOME/precomp/demo/demo_proc.mk to the direcotory where
you have source code and then issue the following command to get the
executable.

$make -f demo_proc.mk build EXE=my_test OBJS=my_test.o

Thanks.



  
  Overview
  --------
   
  Because of the way that the directory structure is arranged on Linux,
  the Oracle Precompiler has difficulty finding standard C header files
  such as stddef.h.

  Even the sample applications can fail to precompile with a number of 
  syntax errors starting with:

     Pro*C/C++: Release 8.0.5.0.0 - Production on Tue Oct 12 10:50:45 1999

     (c) Copyright 1998 Oracle Corporation.  All rights reserved.

     System default option values taken from: 

       /home/oracle/v8050/app/oracle/8.0.5/precomp/admin/pcscfg.cfg

     Error at line 33, column 11 in file /usr/include/stdio.h
     # include <stddef.h>
     ..........1

  This article is intended for Pro*C Developers and System Administrators on

  the Linux operating system and contains information on how to avoid syntax


  errors.

   
  Correcting the Precompiler Installation on Linux
  ------------------------------------------------

  When Precompiling the sample programs on RedHat Linux, you can encounter 
  syntax errors of the form noted above because of the way that the GNU C 
  Compiler (GCC) header files are installed.  They are not found in 
  /usr/include which is the default location where the precompiler looks.

  The default setting can be overridden by using the precompiler option
  SYS_INCLUDE.  When the precompiler was released, the default configuration

  file:

     $ORACLE_HOME/precomp/admin/pcscfg.cfg 

  was altered to switch this setting.  The entry in the file on 8.0 is as
  follows:

     sys_include=($ORACLE_HOME/precomp/public,/usr/lib/gcc-lib/i386-redhat-
                 linux/2.7.2.3/include/,/usr/include)

  However the directory:  

     /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/include/

  does not exist on later releases of Red Hat Linux.
     
  To find out where the header files are found, type:

     locate stddef.h

  The output from the command looks similar to the following, depending
  on the number of C compilers installed on the machine:

     /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
     /usr/lib/gcc-lib/i386-glibc20-linux/egcs-2.90.29/include/stddef.h
     /usr/lib/bcc/include/stddef.h
     /usr/src/linux-2.2.12/include/linux/stddef.h
     /usr/i386-glibc20-linux/include/linux/stddef.h

  Of these, the correct location to use is the first in the list.  After 
  backing up the file, modify the sys_include entry in pcscfg.cfg to:

     sys_include=($ORACLE_HOME/precomp/public,/usr/lib/gcc-lib/i386-redhat-
                 linux/egcs-2.91.66/include/,/usr/include)

  Now, the samples will build cleanly.

  Since the change is made to the default configuration file, you do not
need
  to change the make files.

  Note:  If this problem occurs on 8.1.5, the precompiler core dumps
         with a stack trace similar to:

           pcs()
           pcmain()
           lpmcall()
           lpmpmai()
           main()

  This problem was reported as [BUG:1023403] and occurs because the error
  message files for the precompiler were omitted from this release.  You can

  resolve the problem by copying the following files from an 8.0
installation:

      $ORACLE_HOME/precomp/mesg/pcsus.msb
      $ORACLE_HOME/precomp/mesg/pcsus.msg




-----Original Message-----
Sent: Tuesday, August 21, 2001 1:57 PM
To: Multiple recipients of list ORACLE-L
Serve


Hey all,
My system is RedHat 6.1 and installed oracle version is 8.05. Database is
running fine. But I was trying to check if Pro*C is setup properly. I am
getting the following errors when I try to compile the sample programs. I am
able to compile C programs successfully using cc command.

Can somebody give me a clue, what could be wrong. 

Thx.


make -f /home/u01/app/oracle/product/8.1.5/plsql/demo/demo_plsql.mk build
EXE=examp10 OBJS=examp10.
o
make[1]: Entering directory `/home/oracle/sample'
/home/u01/app/oracle/product/8.1.5/bin/proc sqlcheck=full userid=scott/tiger
CHAR_MAP=VARCHAR2, DBM
S=V7 iname=examp10.pc

Pro*C/C++: Release 8.0.5.0.0 - Production on Thu Aug 16 8:45:53 2001

(c) Copyright 1998 Oracle Corporation.  All rights reserved.

System default option values taken from:
/home/u01/app/oracle/product/8.1.5/precomp/admin/pcscfg.cf
g

Error at line 33, column 11 in file /usr/include/stdio.h
Syntax error at line 368, column 19, file /usr/include/libio.h:
Error at line 368, column 19 in file /usr/include/libio.h
extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
..................1
PCC-S-02201, Encountered the symbol "_IO_sgetn" when expecting one of the
follow
ing:

   ; , = ( [
The symbol ";" was substituted for "_IO_sgetn" to continue.

Syntax error at line 442, column 15, file /usr/include/stdio.h:
Error at line 442, column 15 in file /usr/include/stdio.h
extern size_t fread __P ((void *__restrict __ptr, size_t __size,
..............1
PCC-S-02201, Encountered the symbol "fread" when expecting one of the
following:

   ; , = ( [
The symbol ";" was substituted for "fread" to continue.

Syntax error at line 445, column 15, file /usr/include/stdio.h:
Error at line 445, column 15 in file /usr/include/stdio.h
extern size_t fwrite __P ((__const void *__restrict __ptr, size_t __size,
..............1
PCC-S-02201, Encountered the symbol "fwrite" when expecting one of the
following
:

   ; , = ( [
The symbol ";" was substituted for "fwrite" to continue.

Syntax error at line 450, column 15, file /usr/include/stdio.h:
Error at line 450, column 15 in file /usr/include/stdio.h
extern size_t fread_unlocked __P ((void *__restrict __ptr, size_t __size,
..............1
PCC-S-02201, Encountered the symbol "fread_unlocked" when expecting one of
the f
ollowing:

   ; , = ( [
The symbol ";" was substituted for "fread_unlocked" to continue.

Syntax error at line 452, column 15, file /usr/include/stdio.h:
Error at line 452, column 15 in file /usr/include/stdio.h
extern size_t fwrite_unlocked __P ((__const void *__restrict __ptr,
..............1
PCC-S-02201, Encountered the symbol "fwrite_unlocked" when expecting one of
the 
following:

   ; , = ( [
The symbol ";" was substituted for "fwrite_unlocked" to continue.

Error at line 0, column 0 in file examp10.pc
PCC-F-02102, Fatal error while doing C preprocessing
make[1]: Leaving directory `/home/oracle/sample'
[oracle@kahnuwan ]$ 

Dharminder Kumar




This e-mail and any attachments may contain confidential and privileged
information. If you are not the intended recipient, please notify the sender
immediately by return e-mail, delete this e-mail and destroy any copies. Any
dissemination or use of this information by a person other than the intended
recipient is unauthorized and may be illegal. Unless otherwise stated,
opinions expressed in this e-mail are those of the author and are not
endorsed by the author's employer.


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Kumar, Dharminder
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


This e-mail and any attachments may contain confidential and privileged
information. If you are not the intended recipient, please notify the sender
immediately by return e-mail, delete this e-mail and destroy any copies. Any
dissemination or use of this information by a person other than the intended
recipient is unauthorized and may be illegal. Unless otherwise stated,
opinions expressed in this e-mail are those of the author and are not
endorsed by the author's employer.


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Kumar, Dharminder
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to