Operating System - HP-UX
1751972 Members
4618 Online
108783 Solutions
New Discussion юеВ

ORA-06522: Unsatisfied code symbol

 
Jeff Reimert
New Member

ORA-06522: Unsatisfied code symbol

We are implementing a shared library as an external process in oracle.

This is in a HP UX 11.11 64-bit environment with an Oracle 9.2.0.5 database.

The C++ program was compiled and linked with aCC. It runs from a command line, but when run through Oracle, Oracle returns the following error:

ORA-06520: PL/SQL: Error loading external library
ORA-06522: Unsatisfied code symbol '__dl__FPv' in load module '/oracle/product/9.2.0.5/lib/libOption.sl'.


It was compiled with the following:

aCC -c +Z -z -AA -mt +DAportable +DA2.0W


Anyone have any ideas what might be causing this issue?
6 REPLIES 6
Eric Antunes
Honored Contributor

Re: ORA-06522: Unsatisfied code symbol

Hi,

Did you checked the stacked error (if any) for more details as it is said in the ?

Since I've found your issue also on Metalink, see bug 3216389 that seems similar to your issue...

Eric Antunes
Each and every day is a good day to learn.
Indira Aramandla
Honored Contributor

Re: ORA-06522: Unsatisfied code symbol

Hi Jeff,

Do you have the ENVS entry in listener.ora. You may need an ENVS entry in listener.ora that sets up your LD_LIBRARY_PATH so that any .so files referenced by your shared library can be found.

The other thing would be to locate all the dependancies of your source file and set your LD_LIBRARY_PATH to the locations of these object files, or libraries containing these symbols. Set LD_LIBRARY_PATH in the oracle user profile, or explicitly from within your C shared library.

The error could be be because extproc is unable to load the method from within the Shared library.
In such cases you can use compiler specific flags to generate ANSI C code, like on HP-UX when using aCC you can use the -Ae OR -AOe option while creating the shared library. But as the options are compiler specific you need to check your compiler specific documentation to get the options for your compiler.


Indira A
Never give up, Keep Trying
TwoProc
Honored Contributor

Re: ORA-06522: Unsatisfied code symbol

If you're lucky - you're ORACLE_HOME/bin directory has a command called "symfind" in it that will dig through your environment and tell you what files (.a, .o) contain the symbols you're looking for. If you've got that tool, give it a try to locate the missing symbol.
We are the people our parents warned us about --Jimmy Buffett
Jeff Reimert
New Member

Re: ORA-06522: Unsatisfied code symbol

Thanks for replies so far. we've located the symbol _dl_FPv in library libstd_v2.2 which resides in both /usr/lib and /usr/lib/pa20_64

LD_LIBRARY_PATH=/oracle/product/9.2.0.5/lib:/usr/lib/pa20_64:/usr/lib: is set in the listener and in the .profile
Jeff Reimert
New Member

Re: ORA-06522: Unsatisfied code symbol

our code requires the -AA flag and my programmer says we cannot use the -Ae flag with that... can anyone confirm?

all environment variables appear to be correct, our library works in Windows and in AIX, just can't seem to get Oracle to talk with it correctly in HP UX...

thank you again for ideas... any and all are welcomed
TwoProc
Honored Contributor

Re: ORA-06522: Unsatisfied code symbol

try this -
SHLIB_PATH=${SHLIB_PATH};/usr/lib
along with your other LD_LIBRARY_PATH.

Then just b/c it's easy to try - try setting
SHLIB_PATH=$LD_LIBRARY_PATH.

We are the people our parents warned us about --Jimmy Buffett