Author |
Message
|
vmcgloin |
Posted: Mon Mar 12, 2007 8:43 am Post subject: 64-bit libraries in WMQv6 with 32-bit libraries in WMBv5 |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
Hi,
We have just upgraded MQ to v6 in an environment where message broker is still v5 (running on AIX). To allow to the MQ commands to run we added /usr/mqm/lib64 to the front of our libpath. However mqsistart fails when using these libaries. The same userid (& profile) is being used, but if we change the profile so that it uses the 32-bit libraries then the strmqm issued under the covers by mqsistart fails! How do we get the two to work together?
Apologies if the answer to this question is obvious. I feel it must be but I can't find the answer. We have raised a PMR with IBM but simply been pointed to a technote which is what we started with! Has anyone encountered this problem?
Here are the errors if you have read this far:
Output From mqsistart SAND1X1 when using the 64bit libraries
Code: |
exec(): 0509-036 Cannot load program
/var/wmqi/brokers/SAND1X1/bin/mqsistart because of the following errors:
0509-022 Cannot load module /usr/opt/mqsi/lib/libImbCmdLib.a
(libImbCmdLib.a.so).
0509-150 Dependent module /usr/mqm/lib64/libmqm_r.a(libmqm_r.
o) could not be loaded.
0509-103 The module has an invalid magic number.
0509-022 Cannot load module mqsistart.
0509-150 Dependent module /usr/opt/mqsi/lib/libImbCmdLib.a
(libImbCmdLib.a.so) could not be loaded.
0509-022 Cannot load module . |
Output From mqsistart SAND1X1 when using the 32bit libraries
Code: |
(0)mqm@rs6stech02:/home/mqm: mqsistart SAND1X1
exec(): 0509-036 Cannot load program strmqm because of the following
errors:
0509-150 Dependent module /usr/mqm/lib/libmqmcs_r.a(shr.o)
could not be loaded.
0509-103 The module has an invalid magic number.
BIP8048E: Unable to start WebSphere Business Integration Queue Manager
'SAND1X1'.
This command attempts to start a WebSphere Business Integration Queue
Manager. The Queue Manager could not be started. |
Thanks,
Vicky |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Mar 12, 2007 9:06 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Well, first, I would not have mqsistart run the strmqm....
So start the queue manager separately, under the mqm user id rather than the broker id.
Then you can set the profile in mqm to what's necessary to get strmqm to work, and the broker profile to what's necessary to get mqsistart to work. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vmcgloin |
Posted: Mon Mar 12, 2007 9:21 am Post subject: |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
Jeff,
Even if the strmqm has successfully completed prior to running mqsistart, the broker start command tries to run strmqm and reports "WebSphere MQ queue manager running."
That is the problem I am having - that they are interlinked... I guess I did not explain that.
How can I separate the two? Is there a way of stopping mqsistart running strmqm?
Thanks,
Vicky |
|
Back to top |
|
 |
brokerDev |
Posted: Thu Mar 15, 2007 4:00 pm Post subject: |
|
|
Acolyte
Joined: 21 Jun 2006 Posts: 53
|
Hi,
Don't believe there's a way to separate them.
Regards, |
|
Back to top |
|
 |
vmcgloin |
Posted: Mon Mar 19, 2007 1:22 am Post subject: |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
Thanks,
I have found an environment setup that almost works for both MQv6 and MBv5 but still can't start a broker. We have a PMR open and I'll update here when I have a resolution. Still, if anyone has experience of similar problems I'd love to hear for you
Cheers,
Vicky |
|
Back to top |
|
 |
mnota |
Posted: Sun Mar 25, 2007 11:16 pm Post subject: |
|
|
Newbie
Joined: 25 Mar 2007 Posts: 2 Location: Amsterdam, The Netherlands
|
Hi Vicky,
We've got the same problem. I use a workaround to start the mq binaries, without changing a lot in the environment. You can create aliases in your profile, and put an env-command before starting the mq binary.
For example:
Code: |
alias dspmqver="env LIBPATH=/usr/mqm/lib64:$LIBPATH dspmqver"
alias runmqsc="env LIBPATH=/usr/mqm/lib64:$LIBPATH runmqsc" |
We use WSMQ 6.0.2 on a AIX 5.3 ML4. It will work on AIX 5.2 also.
Martijn. |
|
Back to top |
|
 |
yuj |
Posted: Tue Mar 27, 2007 7:28 am Post subject: |
|
|
Novice
Joined: 19 Mar 2007 Posts: 10
|
mnota wrote: |
Hi Vicky,
We've got the same problem. I use a workaround to start the mq binaries, without changing a lot in the environment. You can create aliases in your profile, and put an env-command before starting the mq binary.
For example:
Code: |
alias dspmqver="env LIBPATH=/usr/mqm/lib64:$LIBPATH dspmqver"
alias runmqsc="env LIBPATH=/usr/mqm/lib64:$LIBPATH runmqsc" |
We use WSMQ 6.0.2 on a AIX 5.3 ML4. It will work on AIX 5.2 also.
Martijn. |
I'm so glad that I see this post before I upgrade my WMQ from 5.3 to 6.0.
I have the same environment that my MQ and MB are runing under the same ID. I guess I have to take it slow then.
Thanks Martijn...Julia |
|
Back to top |
|
 |
c6023 |
Posted: Tue Dec 08, 2009 10:53 am Post subject: WebSphere MQ 64-bit libraries |
|
|
Newbie
Joined: 29 Dec 2001 Posts: 5
|
In 32-bit MQ the library /usr/mqm/lib includes all needed JAR, however that's not the case for the 64-bit library /usr/mqm/lib64 - where JARs are not included at all. Any idea why and should both libs be included (64-bit first) in LIBPATH and LD_LIB_PATH. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 08, 2009 3:07 pm Post subject: Re: WebSphere MQ 64-bit libraries |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
c6023 wrote: |
In 32-bit MQ the library /usr/mqm/lib includes all needed JAR, however that's not the case for the 64-bit library /usr/mqm/lib64 - where JARs are not included at all. Any idea why and should both libs be included (64-bit first) in LIBPATH and LD_LIB_PATH. |
The LD_LIB_PATH is used for the binaries when you connect in binding mode (JNI).
It has nothing to do with the CLASSPATH, which is used to lookup the jar files needed in java.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
c6023 |
Posted: Wed Dec 09, 2009 1:56 pm Post subject: Missing JAR files in /usr/mwm/lib64 |
|
|
Newbie
Joined: 29 Dec 2001 Posts: 5
|
You absolutely correct, but the question about presence of JARs in the 32-bit lib and absence of them in the 64-bit library still remainsn and confusing. Let me rephrase the question. Should both 64-bit and 32-bit libraries be included in the CLASSPATH?
Something like this
CLASSPATH=/usr/mwm/lib64:/usr/mwm/lib
Otherwise, how those JARs will be found.
Thanks for your help |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Dec 09, 2009 6:27 pm Post subject: Re: Missing JAR files in /usr/mwm/lib64 |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
c6023 wrote: |
You absolutely correct, but the question about presence of JARs in the 32-bit lib and absence of them in the 64-bit library still remainsn and confusing. Let me rephrase the question. Should both 64-bit and 32-bit libraries be included in the CLASSPATH?
Something like this
CLASSPATH=/usr/mwm/lib64:/usr/mwm/lib
Otherwise, how those JARs will be found.
Thanks for your help |
NO working as designed. Because there is no difference in the 32 or 64 bit .class files. However the difference is in the JNI layer and the binaries used for a "bindings" connection.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
c6023 |
Posted: Fri Dec 11, 2009 10:06 am Post subject: |
|
|
Newbie
Joined: 29 Dec 2001 Posts: 5
|
Thanks Poobah.
If I may, I would like to ask you another question related to the same issue of converting a Java batch application (that uses MQ) to 64-bit.
In the MQ v.6 documentation (Quick Beginning and Migration) the following is stated for the error we are getting:
"java.lang.UnsatisfiedLinkError: Can't find library mqjbnd05 (libmqjbn05.a or .so).
These manuals say that MQ v6 is installed with 32-bit link prebuilt for the library /usr/lib. The recommendation is not to include /usr/lib in LIBPATH or LD_LIBRARY_PATH or if it is necessary to include /usr/lib in those env variables, then execute the dltmqlnk command to remove the 32-bit links from usr/lib.
In our environment we have no /usr/lib in LIBPATH or LD_LIBRARY_PATH (it is actually not used anywhere) but we still getting the above mentioned error. In addition, I run the IBM command aixload64 that helps to see where the system looking for mqjbnd05 when it issues that error.
What we see is that the system first loads libmqjbnd05.so from /usr/mqm/java/lib64 which is good, then it tries to load the dependent module called libmqm_r.a from this /usr/lib library and here where it issues the error that it unable to load it and the reason is 0509-103 The module has an invalid magic number (which I interpret as that the modile is 32-bit). Do we need to execute the dltmqlnk command to delete the 32-bit links from the /usr/lib (even if it is not in LIBPATH) or it is a different reason for getting this error.
Thanks for your help. Hate bothering you but unable to find an answer anywhere. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Dec 11, 2009 12:16 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Open up a PMR to get resolution on this. Or just do a try and let us know the results.
Anyways you can still do a java "bindings" connection running a 32 bits JVM.
It is trying the 64 bit JVM that is giving you these troubles.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|