Re: CG92_USED Undefined Symbol PRO*C
Date: 18 Jul 1994 16:35:05 GMT
Message-ID: <30eavp$fek_at_dcsun4.us.oracle.com>
In article <Ct4z9I.DyC_at_world.std.com>, dataware_at_world.std.com (Dataware Solutions) writes:
|> I'm Having a problem linking my pro*c
|> program I keep getting an undefined symbol CG92_used, I'm
|> using the GCC compiler for Solaris 2.3 running Oracle 7.0.16.
|> I called Oracle and they said to include a library from the
|> Sun SPARC compiler, however we are using the GCC compiler and
|> I don't think the fix the faxed me is valid for this compiler.
|> If any body has had a similar problem I would appreciate any
|> suggestions. Thanks in advance.
|>
|> Jeff
|>
|>
Correct. That's exactly why we only officially support the Sun C compiler. This is a problem specific to Solaris. Starting with Oracle 7.0.15 (and Pro*C 1.5.9) Oracle switched libraries, from cg89 to cg92. If you are using the Sun C compiler found in /opt/SUNWspro/bin, you can pass a -xcg92 option, which will fix the problem. Other compilers may take the option -cg92, which does the same thing. I don't know if gcc does this or not. If you have the directory /opt/SUNWspro/SC2.0.1/cg92, the 4 libraries in there define the __cg92_used symbol. You may try including them. If you don't have these libraries, try including __fstd.o in $ORACLE_HOME/lib. This is one of the libaries in the /opt/SUNWspro/SC2.0.1/cg92 directory, and it should define this symbol. If all else fails, try defining _cg92_used as an int in your program.
Because of problems like this, Oracle will usually support only one compiler per operating system, and that is usually the most common one or the one that comes with the system. Which doesn't mean that you can't use other compilers, it means that Oracle hasn't tested them and so doesn't guarentee the results (like we do with the Sun C compiler in this case with the -xcg92 flag).
Standard disclaimers apply about this being my own opinion and not necessarily that of Oracle, etc. etc. Received on Mon Jul 18 1994 - 18:35:05 CEST