Pro*C Compilation errors

All posts relating to Oracle PL/SQL development.

Moderator: Tim...

Posts: 2
Joined: Wed Apr 11, 2007 7:36 am

Pro*C Compilation errors

Postby munijohar » Fri Apr 27, 2007 9:29 am


I have a Pro*C program that listens at a socket, reads the data from the socket into a table. I have a problem in compiling this Pro*C program.
My database version is 8.174. The server is running solaris 5.0
Now when i set my ORACLE_HOME to point to 8.174 and then compile my Pro*C program i get the an error. The syntax used to compile the program is as follows:
make -f stminter

Once i run this i get the following output:
/usr/ccs/bin/make -f ./ PCCSRC=stminter I_SYM=include= pc1
proc iname=stminter include=. include=/ora/product/v8174/precomp/public include=/ora/product/v8174/rdbms/public include=/ora/product/v8174/rdbms/demo include=/ora/product/v8174/plsql/public include=/ora/product/v8174/network/public

Pro*C/C++: Release - Production on Fri Apr 27 19:17:25 2007

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

System default option values taken from: /ora/product/v8174/precomp/admin/pcscfg.cfg

/opt/SUNWspro/WS6U2/bin/cc -xO2 -Xa -xstrconst -xF -mr -xarch=v8 -xcache=16/32/1:1024/64/1 -xchip=ultra -D_REENTRANT -K PIC -DPRECOMP -I. -I/ora/product/v8174/precomp/public -I/ora/product/v8174/rdbms/public -I/ora/product/v8174/rdbms/demo -I/ora/product/v8174/plsql/public -I/ora/product/v8174/network/public -DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTOD -c stminter.c
/opt/SUNWspro/WS6U2/bin/cc -xO2 -Xa -xstrconst -xF -mr -xarch=v8 -xcache=16/32/1:1024/64/1 -xchip=ultra -D_REENTRANT -K PIC -DPRECOMP -I. -I/ora/product/v8174/precomp/public -I/ora/product/v8174/rdbms/public -I/ora/product/v8174/rdbms/demo -I/ora/product/v8174/plsql/public -I/ora/product/v8174/network/public -DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTOD -c stmparse.c
/opt/SUNWspro/WS6U2/bin/cc -o stminter stminter.o stmparse.o -L/ora/product/v8174/lib/ -lclntst8 `cat /ora/product/v8174/lib/ldflags` `cat /ora/product/v8174/lib/sysliblist` -R/ora/product/v8174/lib -laio -lm -lthread
Undefined first referenced
symbol in file
ncrov /ora/product/v8174/lib//libclntst8.a(nngt.o)
kgupntb /ora/product/v8174/lib//libclntst8.a(kgupi.o)
ldxpmxa /ora/product/v8174/lib//libclntst8.a(ldxsti.o)
kpupft /ora/product/v8174/lib//libclntst8.a(kpu.o)
lxsftb /ora/product/v8174/lib//libclntst8.a(lxpsset.o)
lpmiftfs /ora/product/v8174/lib//libclntst8.a(lpmpgif.o)
slxlcbk /ora/product/v8174/lib//libclntst8.a(lxinitc.o)
slxlobc /ora/product/v8174/lib//libclntst8.a(lxinitc.o)
slxlobj /ora/product/v8174/lib//libclntst8.a(lxinitc.o)
ld: fatal: Symbol referencing errors. No output written to stminter
*** Error code 1
make: Fatal error: Command failed for target `stminter'

Now if i change my oracle home to 8.17 the Pro*C program compiles fine. Compilation does not give me any errors. When i run this Pro*C program it listens at the socket and reads in the data into the database. However after 15-20 minutes the Pro*C program stops listening at the socket. When i check to see if the process is running on the server i find that it has not stopped but is still running. If i kill the process and restart it, then it starts reading data from the socket immediately. Can you tell me what is it that i am doing wrong here?

Also i wanted to know if in Pro*C code i can make a particular transaction use one rollback segment. For eg in pl/sql i can use the statement
set transaction use rollback segment R10
Is there an equivalent statement like this in Pro*C. I have checked with a few tutorials but nowhere do they say that i can use a particular rollback segment. Please help with this. Thanks in advance for all the help.

Site Admin
Posts: 18437
Joined: Mon Nov 01, 2004 5:56 pm
Location: England, UK

Postby Tim... » Fri Apr 27, 2007 10:19 am


First, it's been years since I did any Pro*C, so I'm not in a position to comment. Second, I don't have a clue what is wrong with your code. It's kind-of impossible for me to know unless I was sitting at your desk looking at the trace messages I assume you put into your code.

Regarding the rollback segment issue, Pro*C is just another connection to the database. It's a standard session. You can do the same things in this session that you can do from SQL*Plus.


Oracle ACE Director
Oracle ACE of the Year 2006 - Oracle Magazine Editors Choice Awards
OakTable Member
OCP DBA 7.3, 8, 8i, 9i, 10g, 11g
OCP Advanced PL/SQL Developer
Oracle Database: SQL Certified Expert
My website:
My blog:

Return to “Oracle SQL and PL/SQL Development”

Who is online

Users browsing this forum: No registered users and 2 guests