Operating System - HP-UX
1833268 Members
2883 Online
110051 Solutions
New Discussion

hpux 11i and microfocus cobol (external calls)

 
Barry Goldstein
Occasional Contributor

hpux 11i and microfocus cobol (external calls)


I am testing a program using microfocus cobol on hpux11i. This program makes calls to a series of external routines for the mqseries v5.3 product. In my initial testing I received a "165 version number incompatibility" runtime error message. I relinked my rts module with the "-l:libdld.1" tag and the rts module works. I believe that this works because I am linking some kind of compatibility library into my rts module.

(1) Can somebody give me a clear explanation of why this works?
(2) Is this an appropriate way to link together a rts module?
(3) What documentation can I read to learn more?
(4) Is this technique safe to use in my production system? Are these shared libraries stable?

Thank you,
Barry Goldstein
Ameren Services
St.Louis, Mo.
bgoldstein@ameren.com
"The significant problems we face in life cannot be solved at the same level of thinking we were at when we created them." -- Albert Einstein
1 REPLY 1
Barry Goldstein
Occasional Contributor

Re: hpux 11i and microfocus cobol (external calls)

I have more information related to this question. I get the following results when I run "ldd -r rts".

$ ldd -r rts
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/opt/cobol/cobdir/coblib/libisstubs.1 => /opt/cobol/cobdir/coblib/libisstubs.1
/opt/cobol/cobdir/coblib/libosx.1 => /opt/cobol/cobdir/coblib/libosx.1
/opt/cobol/cobdir/coblib/libscreen.1 => /opt/cobol/cobdir/coblib/libscreen.1
/opt/cobol/cobdir/coblib/libsupp.1 => /opt/cobol/cobdir/coblib/libsupp.1
/opt/cobol/cobdir/coblib/libcrtn.1 => /opt/cobol/cobdir/coblib/libcrtn.1
/opt/cobol/cobdir/coblib/libcobol.1 => /opt/cobol/cobdir/coblib/libcobol.1
/opt/cobol/cobdir/coblib/libmbcs.1 => /opt/cobol/cobdir/coblib/libmbcs.1
/opt/cobol/cobdir/coblib/libmfo.1 => /opt/cobol/cobdir/coblib/libmfo.1
/opt/cobol/cobdir/coblib/liboops.1 => /opt/cobol/cobdir/coblib/liboops.1
/usr/lib/libmqmcb.sl => /usr/lib/libmqmcb.sl
/opt/mqm/lib/libmqm.sl => /opt/mqm/lib/libmqm.sl
/opt/mqm/lib/libmqmzse.sl => /opt/mqm/lib/libmqmzse.sl
/opt/mqm/lib/libmqmcs.sl => /opt/mqm/lib/libmqmcs.sl
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libdld.1 => /usr/lib/libdld.1

When I link the rts without specifying "-l:libdld.1" the only difference is the last line referring to "/usr/lib/libdld.1" is missing from the output.

Thank you,
Barry
"The significant problems we face in life cannot be solved at the same level of thinking we were at when we created them." -- Albert Einstein