Consultor Eletrônico



Kbase P18685: error 8013 on AIX with Progress 9.1x
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   27/08/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"