PL/SQL: Error loading external library [message #48862] |
Thu, 23 December 2004 01:44 |
Radhika
Messages: 12 Registered: June 2001
|
Junior Member |
|
|
I am encountering the following error while trying to call a library which refers to shared library on Unix Server in C++ Langauage.
In Others->ORA-06520: PL/SQL: Error loading external library
ORA-06522:
'/home/sheenam/vikas/temp/libdesede3.sl' is not a valid load module: Bad magic number
Please let me know what could be the problem.
|
|
|
Re: PL/SQL: Error loading external library [message #48863 is a reply to message #48862] |
Thu, 23 December 2004 01:56 |
Deepa
Messages: 269 Registered: November 2000
|
Senior Member |
|
|
Got from Metalink .
this is a problem sue to mismatch between the shared library created and the extproc used in your listener.ora .
The extproc in $ORACLE_HOME/bin is 64 bit from 9i onwards.
Fix
~~~~
If your "PROGRAM" entry in listener.ora refers the "extproc" in
$ORACLE_HOME/bin then you need to create a 64 shared library .
You can use $O_H/rdbms/demo/demo_rdbms.mk to create a 64 bit shared
library as follows .
make -f demo_rdbms.mk extproc_nocallback SHARED_LIBNAME=test.so OBJS=test.o
or
make -f demo_rdbms.mk extproc_callback SHARED_LIBNAME=test.so OBJS=test.o
But if you need to use your 32 bit shared library for your external procedures then you can use the extproc32 from $ORACLE_HOME/bin . You must change your listener.ora and modify the "PROGRAM" to use extproc32 instead of extproc.
|
|
|
Re: PL/SQL: Error loading external library [message #48866 is a reply to message #48863] |
Thu, 23 December 2004 03:28 |
Radhika
Messages: 12 Registered: June 2001
|
Junior Member |
|
|
Hi,
Thanx i tried out and i am getting the below error:
ld -b -L/citi/oracle9i/lib -L/citi/oracle9i/lib/ -L/citi/oracle9i/rdbms/desede3.c libdesede3.sl
ld: Can't open /opt/TWWfsw/gcc302/lib/libstdc++.sl.3
ld: No such file or directory
*** Error exit code 1
I need to change the path /opt/TWWfsw/gcc302/lib.
from where is it taking up this path.In which environment varaible i have to set this path.
|
|
|