Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 10g (release1), AIX, Pro-COBOL, Problems building sample programs
Once again, thank you for your input! The Cobol compiler was indeed
installed using the root account, rather than some less-privileged
account. Once installed with such an account, everything starts to
make sense!!
Thanks again!
Rich Woodland.
Magic Interface.
On 03 Feb 2006 09:02:27 GMT, Laurenz Albe <invite_at_spam.to.invalid> wrote:
>Quilpole <vishnu_at_magicinterface.com> wrote:
>> I used the ldd command (very useful), as shown in the text below. I'm
>> able to see the dependencies, but all seems to be well. I did issue
>> the ldd command for the other libraries mentioned under rts32_t, but
>> didn't stumble across any missing files. Are there any other
>> environment variable that are related to finding paths to libraries
>> under AIX?
>>
>> The output from my test with ldd is shown below :-
>>
>> # echo $LIBPATH
>> /apps/oracle/10g/lib32:/apps/oracle/10g/network/lib32:/usr/lib:
>> /usr/lpp/cobol/lib:/usr/lpp/cobol/coblib:/lib
>>
>> # cd /usr/lpp/cobol
>> # ldd bin/rts32_t
>> bin/rts32_t needs:
>> /usr/lpp/cobol/lib/libcobrts_t.2.so
>> /usr/lpp/cobol/lib/libcobcrtn.2.so
>> /usr/lpp/cobol/lib/libcobmisc_t.2.so
>> /usr/lib/libpthreads.a(shr_comm.o)
>> /usr/lib/libpthreads.a(shr_xpg5.o)
>> /usr/lib/libc.a(shr.o)
>> /usr/lib/librtl.a(shr.o)
>> /usr/lpp/cobol/lib/libcobscreen.2.so
>> /unix
>> /usr/lib/libcrypt.a(shr.o)
>
>[...]
>
>> cob -C IBMCOMP -C NESTCALL -x -t -o sample1 sample1.cob
>> -L/apps/oracle/10g/lib/ /apps/oracle/10g/precomp/lib/cobsqlintf.o
>> -lclntsh -lld -lm `cat /apps/oracle/10g/lib/sysliblist` -lm -lc_r
>> -lpthreads
>> Could not load program /usr/lpp/cobol/bin/rts32_t:
>> Dependent module libcobrts_t.2.so could not be loaded.
>> Could not load module libcobrts_t.2.so.
>> System error: No such file or directory
>
>Being totally ignorant of Cobol (fortunately) or this compiler in
>particular, I don't know how 'cob' tries to load 'rts32_t'.
>
>But I guess it just executes it, right?
>
>There is one more thing that could be the problem:
>
>Does any of the executables in question (cob, rts32_t, whatever else may
>be called in the makefile that calls cob) have the SETUID flag set?
>
>I ask because if a SETUID program is executed on AIX by a user OTHER THAN
>THE OWNER of the executable, the LIBPATH will be ignored (for security
>reasons).
>
>If that is your problem, your options are the following:
>
>- Link rts32_t with a linker path that points to the shared library
> (you need to have the source of rts32_t for that).
>
>- Create a symbolic link to /usr/lpp/cobol/lib/libcobrts_t.2.so
> in /usr/lib. It is ugly, but should work.
>
>Yours,
>Laurenz Albe
Received on Fri Feb 03 2006 - 18:15:04 CST