Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Problem in setting up Pro*C on RedHat Linux 6.1 with Oracle S

RE: Problem in setting up Pro*C on RedHat Linux 6.1 with Oracle S

From: Kumar, Dharminder <Dharminder.Kumar_at_bmonb.com>
Date: Thu, 23 Aug 2001 09:12:23 -0700
Message-ID: <F001.0037564B.20010823092708@fatcity.com>

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_at_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: Dharminder.Kumar_at_bmonb.com

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: ListGuru_at_fatcity.com (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: Dharminder.Kumar_at_bmonb.com

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: ListGuru_at_fatcity.com (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).
Received on Thu Aug 23 2001 - 11:12:23 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US