|
| Hi,
I have to admit I'm not sure if this should be posted here or in
comp.databases.oracle.misc, but as I'm writing about something created
by means of "cob" failing when used by cobrun[_t] I'll try it here
first.
I'm still looking for a proper way to use oracle10g with
MFServerExpress4.0 on AIX5.3 all 64bit.
The way recommended before to me by MF was to use the standard runtimes
rts* and create a shared library e.g. libmfora.so to be loaded by my
programs using the compiler directive INITCALL.
With Linux and ServerExpress2.2 32bit this works fine. Even on AIX5.3
with 32bit Sx2.2 and oracle9.2 I tested that sucessfully. So I'm not
completely new to the subject.
Relinking the libraries using the makefiles provided by oracle after
patching them eliminating a bug (pw-syscall is no longer needed, thus
RTSPORTFLAGS has to be eliminated) and calling "cob -z ..." instead
"cob -x ..." in both RTSORA_LINKLINES produces a *.so "sucessfully" but
loading that fails with runtimeerror 198.
Using a simple c-program for simplicity that does just dlopen()
(provided by a very helpful MF-guy ;-) shows "why" it fails:
With oracle 10.2.0.1.0 I get
Symbol resolution failed for /soft/oracle10/lib/libnnz10.so because:
Symbol ber_fre (number 68) is not exported from dependent module
loader.
Symbol ldap_bind_s ...
Symbol ldap_count_entries ...
Symbol ldap_first_attribute ...
Symbol ldap_first_entr ...
Symbol ldap_free_urldesc ...
Additional errors occurred but are not reported.
....
With oracle 10.1.0.2.0 I get almost the same messages on other Symbols
ssl_Write, ssl_SetVerifyFunc, ssl_SetValidateRef, ssl_SetValidateFunc,
ssl_SetSignFunc, ssl_SetSessionRef and ssl_SetSessionFuncs (and
"Additional...").
Does anybody have any idea (besides Simon Tobias who is trying to get
some infos out of some busy colleagues, but I'm trying to find a
solution as a christmas present for myself )?
Why are the completely relinked runtimes (rtsora replacing rts64_t in
$COBDIR/bin) capable to run but a relinked library is incomplete?
In all cases LIBPATH=$ORACLE_HOME/lib:$COBDIR/lib and
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$ORACLE_HOME/rdbms/lib:$COBDIR/lib
so there should be at least the correct 64bit-libs used. But it seems
they are not enough? Where could I look for maybe additional libraries
to be included to create a complete *.so?
Is there any new Compileroption besides -z which must be used with
"cob" (in fact cob64) with 64-bit?
Until now I tried
RTSORA_LINKLINE=$(COB) -v -o $(LOC_RTSORA) -t -ze "" $(RTSPORTFLAGS)
....
as well as
RTSORA_LINKLINE=$(COB) -o $(LOC_RTSORA) -t -z,sys,nounload -e ""
$(RTSPORTFLAGS) ...
with no visible difference.
Thanks in advance,
bine
|
|