Kbase P18685: error 8013 on AIX with Progress 9.1x
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  8/27/2009 |
|
Status: Verified
SYMPTOM(s):
Cannot load a shared library into the procedure editor.
Could not open Dynamic Library: <libraryName> (8013)
Could not open Dynamic Library: libc_r.a (8013)
DLL Error : <dllerror> (8014)
DLL Error : 0509-022 Cannot load module /usr/lib/libc_r.a. (8014)
Could not open Dynamic Library: /usr/mqm/lib/libmqic.a (8013)
DLL Error : 0509-022 Cannot load module /usr/mqm/lib/libmqic.a. (8014)
Could not load DLL procedure /usr/mqm/lib/libmqic.a. (3258)
FACT(s) (Environment):
dump -o /usr/mqm/lib/libmqic.a
shows /usr/mqm/lib/libmqic.a[mqic.o]:
/usr/lib/libc_r.a /usr/mqm/lib/libmqic.a accessible
Calling external procedure.
IBM AIX
Progress 9.1x
CAUSE:
AIX allows shared libraries to be added to archived files to keep the shared libraries in one place. The .a file is an archive and may not contain a shared library.
The fact the "dump -o" output shows an object packed into the archive means the archive itself is not a shared library, we use dlopen to open a shared library, if the file is not a shared library, dlopen fails and you get the errors
CAUSE:
Bug# 20030219-009
CAUSE:
Bug# OE00086877
FIX:
1.To extract the member to the current directory run:
ar x <path/library-name>
2. In the procedure editor
procedure <name> external "path/to shared library"
example: <name> external "pathto/libmqm.o"