ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » MR01 High Availability support pac

Post new topic  Reply to topic
 MR01 High Availability support pac « View previous topic :: View next topic » 
Author Message
keyswest
PostPosted: Fri Apr 25, 2008 12:36 pm    Post subject: MR01 High Availability support pac Reply with quote

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
View user's profile Send private message
jefflowrey
PostPosted: Fri Apr 25, 2008 1:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
keyswest
PostPosted: Sat Apr 26, 2008 10:24 am    Post subject: Reply with quote

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
View user's profile Send private message
jefflowrey
PostPosted: Sat Apr 26, 2008 11:32 am    Post subject: Reply with quote

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
View user's profile Send private message
keyswest
PostPosted: Wed Apr 30, 2008 1:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » MR01 High Availability support pac
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.