API exit installed, QM doesn't start, err msg 'AMQ6174 loadable shared library not found'.

book

Article ID: 49000

calendar_today

Updated On:

Products

Nastel AutoPilot for WebSphere MQ

Issue/Introduction

Description:

You just configured an API exit for a qmgr possibly manually, on AIX (or other 64-bit UNIX system).
The exit is defined in /var/mqm/qmgrs/qmgr_name/qm.ini.
When you start the qmgr, you get a console error msg
AMQ7214: The module for API Exit 'NASTEL_APTM' could not be loaded.
and in /var/mqm/qmgrs/error/qmhr_name/AMQERR01.LOG you see 2 error msgs similar to these:

12/06/11 14:47:21 - Process(10420472.1) User(mqm) Program(amqzxma0_nd)                Host(ax0294) 

AMQ6174: The dynamically loadable shared library '<NULL>' was not found. The

system returned error number '2' and error message 'No such file or directory'.

Solution:

EXPLANATION:

This message applies to UNIX systems. The shared library '<NULL>' was not found.

ACTION:

Check that the file exists, and is either fully qualified or is in the appropriate director, also check the file access permissions.

----------------------------------------------------------------------------

12/06/11 14:47:21 - Process(10420472.1) User(mqm) Program(amqzxma0_nd)                   Host(ax0294) 

AMQ7214: The module for API Exit 'NASTEL_APTM' could not be loaded.

EXPLANATION:

The module 'nsqmqprb_r' for API Exit 'NASTEL_APTM' could not be loaded for
reason xecU_I_FUNCTION_NOT_FOUND.

ACTION:

Correct the problem with the API Exit module 'NASTEL_APTM'.
----- amqzxmpa.c : 420

The error ,msg '<NULL> was not found' will occur if a 64-bit WMQ program wants to run and the 64-bit exit directory line is not defined in qm.ini.

The ExitPath stanza should appear as follows:

ExitPath:

 	ExitsDefaultPath=/var/mqm/exits          ExitsDefaultPath64=/var/mqm/exits64 

or possibly like this

ExitPath:

 	ExitsDefaultPath=/opt/nastel/aptm/lib32          ExitsDefaultPath64=/opt/nastel/aptm/lib64 

In addition, make sure your API exit defiinition lines look similar to this:

ApiExitLocal:

 Name=NASTEL_APTM      -- any reference name        Sequence=100          -- any sequence #  Function=nsqAPX       -- must be exactly this spelling and case Module=nsqmqprb       -- must be exactly this spelling and case Data=600:6000:TRACE   -- numbers may vary (API exit timeout secs:max API exit msg size)                          TRACE (API exit tracing) is optional.

Environment

Release:
Component: AUTPLT