|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MR01 High Availability support pac |
« View previous topic :: View next topic » |
Author |
Message
|
keyswest |
Posted: Fri Apr 25, 2008 12:36 pm Post subject: MR01 High Availability support pac |
|
|
Novice
Joined: 25 Apr 2008 Posts: 14
|
I am trying to use MR01 HA channel exit support pac from IBM to configure a sender channel from MQ to talk to a cluster on WebSphere Application server. IBM instructions to compile to the exit on Solaris 9 was to use CC. I do not have CC complier, hence i used GCC and the modified command is
gcc -D_REENTRANT -lthread -G -o/var/mqm/exits64/exits mr01exit.c -I/opt/mqm/inc -L/opt/mqm/lib64 -L/opt/mqm/lib64 -L/usr/lib/64 -lmqm -lmqmcs -lmqmzse -lsocket -lnsl -ldl -Bdynamic
Then i define in the channels defenition as
ALTER CHANNEL(BHMA.MQ.TO.WAS) CHLTYPE(SDR) MSGEXIT(exits) MSGDATA(/export/home/mqm/ExitConfig)
The channel failed with the following errors:
EXPLANATION:
This message applies to UNIX systems. The shared library
'/var/mqm/exits64/mrexit' failed to load as it is probably a 32-bit library, a
64-bit library is required. The following message gives details of the original
failure.
ACTION:
Supply the name of a 64-bit library.
----- amqxufnx.c : 2054 -------------------------------------------------------
04/24/08 22:30:09 - Process(26353.1) User(mqm) Program(runmqchl_nd)
AMQ6175: The system could not dynamically load the shared library
'/var/mqm/exits64/mrexit'. The system returned error message 'ld.so.1:
runmqchl_nd: fatal: /var/mqm/exits64/mrexit: wrong ELF class: ELFCLASS32'. The
queue manager will continue without this module.
EXPLANATION:
This message applies to UNIX systems. The shared library
'/var/mqm/exits64/mrexit' failed to load correctly due to a problem with the
library.
ACTION:
Check the file access permissions and that the file has not been corrupted.
----- amqxufnx.c : 1158 -------------------------------------------------------
04/24/08 22:30:09 - Process(26353.1) User(mqm) Program(runmqchl_nd)
AMQ9535: User exit not valid.
EXPLANATION:
Channel program 'BHMA.MQ.TO.WAS' ended because user exit
'/var/mqm/exits64/mrexit(ChannelExit)' is not valid.
ACTION:
Ensure that the user exit is specified correctly in the channel definition, and
that the user exit program is correct and available.
----- amqrexta.c : 5295 -------------------------------------------------------
04/24/08 22:30:09 - Process(26353.1) User(mqm) Program(runmqchl_nd)
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'BHMA.MQ.TO.WAS' ended abnormally.
ACTION:
Look at previous error messages for channel program 'BHMA.MQ.TO.WAS' in the
error files to determine the cause of the failure.
I re-compiled as a 64 bit, then tried it again. This time it gave the following errors...
04/25/08 18:21:14 - Process(883.1) User(mqm) Program(runmqchl_nd)
AMQ9002: Channel 'BHMA.MQ.TO.WAS' is starting.
EXPLANATION:
Channel 'BHMA.MQ.TO.WAS' is starting.
ACTION:
None.
-------------------------------------------------------------------------------
04/25/08 18:21:14 - Process(883.1) User(mqm) Program(runmqchl_nd)
AMQ9535: User exit not valid.
EXPLANATION:
Channel program 'BHMA.MQ.TO.WAS' ended because user exit 'exits' is not valid.
ACTION:
Ensure that the user exit is specified correctly in the channel definition, and that the user exit program is correct and available.
----- amqrexta.c : 5316 -------------------------------------------------------
04/25/08 18:21:14 - Process(883.1) User(mqm) Program(runmqchl_nd)
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'BHMA.MQ.TO.WAS' ended abnormally.
ACTION:
Look at previous error messages for channel program 'BHMA.MQ.TO.WAS' in the error files to determine the cause of the failure.
----- amqrccca.c : 777 --------------------------------------------------------
The ldd for the file is as follows:
libthread.so.1 => /usr/lib/64/libthread.so.1
libmqm.so => /usr/lib/libmqm.so - wrong ELF class: ELFCLASS32
libmqmcs.so => /usr/lib/libmqmcs.so - wrong ELF class: ELFCLASS32
libmqmzse.so => /usr/lib/libmqmzse.so - wrong ELF class: ELFCLASS32
libsocket.so.1 => /usr/lib/64/libsocket.so.1
libnsl.so.1 => /usr/lib/64/libnsl.so.1
libdl.so.1 => /usr/lib/64/libdl.so.1
libc.so.1 => /usr/lib/64/libc.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
/usr/platform/SUNW,Sun-Fire-V440/lib/sparcv9/libc_psr.so.1
Can somebody give me some info on how to resolve this ? It will be really helpful thanks.
Thanks,
Mark |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Apr 25, 2008 1:18 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So it seems pretty clear that you are linking against the 32 bit mqm.so. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
keyswest |
Posted: Sat Apr 26, 2008 10:24 am Post subject: |
|
|
Novice
Joined: 25 Apr 2008 Posts: 14
|
Hi Jeff,
yes, i am linking to a 32 bit mqm.so but when i compile the code as 32 bit and link it, it gives the following error
EXPLANATION:
This message applies to UNIX systems. The shared library
'/var/mqm/exits64/mrexit' failed to load as it is probably a 32-bit library, a
64-bit library is required. The following message gives details of the original
failure.
ACTION:
Supply the name of a 64-bit library.
----- amqxufnx.c : 2054 -------------------------------------------------------
04/24/08 22:30:09 - Process(26353.1) User(mqm) Program(runmqchl_nd)
AMQ6175: The system could not dynamically load the shared library
'/var/mqm/exits64/mrexit'. The system returned error message 'ld.so.1:
runmqchl_nd: fatal: /var/mqm/exits64/mrexit: wrong ELF class: ELFCLASS32'. The
queue manager will continue without this module
any suggestions on what could be the problem?
thanks,
mark. |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Apr 26, 2008 11:32 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Yes, you should be linking against the 64 bit library...
 _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
keyswest |
Posted: Wed Apr 30, 2008 1:11 pm Post subject: |
|
|
Novice
Joined: 25 Apr 2008 Posts: 14
|
Hi Jeff,
Thank you for your suggestions. I had to explicitly set the library path as
declare -x LD_LIBRARY_PATH="/opt/mqm/lib64:/usr/lib:/usr/local/lib:/usr/openwin/lib"
Now it compiled as expected and got linked to the right libraries. It is working.
Mark. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|