Author |
Message
|
h_wolf |
Posted: Wed Oct 05, 2005 9:34 am Post subject: MQ v6 on Linux - can't build C++ samples |
|
|
Novice
Joined: 04 Oct 2005 Posts: 11
|
The sample C++ code provided in /opt/mqm/samp can't be built and linked using the example build line from the IBM "WebSphere MQ: Using C++" guide.
IBM shipped broken C++ libraries in MQSeries v5.3 CSD03, which was fixed in CSD04:
http://www-1.ibm.com/support/docview.wss?uid=swg1IY43610
I have never filed a tech support call on MQSeries before. Who can I forward this info to?
Here are the gory details:
$ uname -a
Linux linux5 2.4.18-27.7.x #1 Fri Mar 14 06:44:53 EST 2003 i686 unknown
$ cat /etc/redhat-release
Red Hat Linux release 7.3 (Valhalla)
$ g++ --version
2.96
$ g++ -o imqsput imqsput.cpp -fsigned-char -I/opt/mqm/inc -L/opt/mqm/lib -Wl,-rpath=/opt/mqm/lib -Wl,-rpath=/usr/lib -limqs23gl -limqb23gl -lmqm
/opt/mqm/lib -Wl,-rpath=/usr/lib -limqs23gl -limqb23gl -lmqm
/usr/bin/ld: warning: libstdc++.so.5, needed by /opt/mqm/lib/libimqs23gl.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libgcc_s.so.1, needed by /opt/mqm/lib/libimqs23gl.so, not found (try using -rpath or -rpath-link)
/tmp/ccUedp7d.o(.text+0x16): undefined reference to `ImqMgr::ImqMgr(int)'
/tmp/ccUedp7d.o(.text+0x2c): undefined reference to `ImqQue::ImqQue(int)'
/tmp/ccUedp7d.o(.text+0x42): undefined reference to `ImqMsg::ImqMsg(int)'
...
followed by undefined reference errors to every other MQ call.
When I explicitly link the legacy C++ libraries in /opt/mqm/lib/2.95 I get almost the same thing, except it doesn't complein about not beign able to find libstdc++.so.5
$ g++ -o imqsput imqsput.cpp -fsigned-char -I/opt/mqm/inc -L/opt/mqm/lib/2.95 -Wl,-rpath=/opt/mqm/lib/2.95 -Wl,-rpath=/usr/lib -limqs23gl -limqb23gl -lmqm
path=/opt/mqm/lib/2.95 -Wl,-rpath=/usr/lib -limqs23gl -limqb23gl -lmqm
/tmp/cc7rzvBf.o(.text+0x16): undefined reference to `ImqMgr::ImqMgr(int)'
/tmp/cc7rzvBf.o(.text+0x2c): undefined reference to `ImqQue::ImqQue(int)'
/tmp/cc7rzvBf.o(.text+0x42): undefined reference to `ImqMsg::ImqMsg(int)'
...
followed by undefined reference errors to every other MQ call. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Oct 07, 2005 4:25 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I think you can open a PMR for this... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Fri Oct 07, 2005 8:29 pm Post subject: Re: MQ v6 on Linux - can't build C++ samples |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
h_wolf wrote: |
$ cat /etc/redhat-release
Red Hat Linux release 7.3 (Valhalla) |
jefflowrey wrote: |
I think you can open a PMR for this... |
Why? WMQ v6 is not supported on v7.3.
WMQ v6 manual:
Quote: |
Software requirements
Linux x86 platform
Operating system
Red Hat Enterprise Linux V3.0 (with Update 2)
SUSE LINUX Enterprise Server (SLES) 8 (with Service Pack 3) or SLES 9 |
Although, I will say that WMQ v6 does work on Fedora Core 3 without any tweeks or environments variables having to be set.
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Oct 08, 2005 3:08 am Post subject: Re: MQ v6 on Linux - can't build C++ samples |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
RogerLacroix wrote: |
Why? WMQ v6 is not supported on v7.3. |
missed that...  _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
h_wolf |
Posted: Mon Oct 10, 2005 8:45 am Post subject: Re: MQ v6 on Linux - can't build C++ samples |
|
|
Novice
Joined: 04 Oct 2005 Posts: 11
|
RogerLacroix wrote:
Quote: |
Why? WMQ v6 is not supported on v7.3. |
I have verified that this problem also exists on Red Hat Enterprise
Linux V3.0 (with Update 4) - but only when using the g++ V2.9.5
compilier, which is claimed to be supported in the v6 announcement:
http://www-306.ibm.com/common/ssi/fcgi-bin/ssialias?
subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS205-094#@2h@80@
It appears that the libraries that are shipped in /opt/mqm/lib/2.95 are
in fact simply copies of the gcc 3 libraries and are NOT libraries built
with gcc 2.95. When I build the sample code with g++ v3.2.3 I can use
either the default libraries, or specify the 2.95 subdirectory and the build
succeeds (which obviously it shouldn't when specifying
/opt/mqm/lib/2.95). However, when I build using the g++ v2.95.3,
then I get the same "undefined reference" errors that I initially reported.
here are the gory details:
$ uname -a
Linux sschmidt-l 2.4.21-27.EL #1 Wed Dec 1 22:08:15 EST 2004 i686 i686 i386 GNU/Linux
$ cat /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 4)
$ which g++
/usr/bin/g++
$ g++ --version
g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-47)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ /usr/local/gcc/2.95.3/bin/g++ --version
2.95.3
$ /usr/local/gcc/2.95.3/bin/g++ -o imqsput imqsput.cpp -fsigned-char
-I/opt/mqm/inc -L/opt/mqm/lib/2.95 -Wl,-rpath=/opt/mqm/lib/2.95
-Wl,-rpath=/usr/lib -limqs23gl -limqb23gl -lmqm
/tmp/cc6z9PsC.o(.text+0x6d2): In function `main':
: the `gets' function is dangerous and should not be used.
/tmp/cc6z9PsC.o(.text+0x18): In function `main':
: undefined reference to `ImqMgr::ImqMgr(int)'
/tmp/cc6z9PsC.o(.text+0x2c): In function `main':
: undefined reference to `ImqQue::ImqQue(int)'
/tmp/cc6z9PsC.o(.text+0x40): In function `main':
--
Harry Wolfson |
|
Back to top |
|
 |
h_wolf |
Posted: Tue Oct 25, 2005 9:46 am Post subject: confimred by IBM (MQ v6 on Linux - can't build C++ samples) |
|
|
Novice
Joined: 04 Oct 2005 Posts: 11
|
I filed a pmr (pmr 03390,756,000: wmq sample build on linux) and after a couple of weeks, (and me providing follow-up details and version info, etc.) IBM has confirmed that they have reproduced the problem, but have not given me a timeline estimate for a fix. |
|
Back to top |
|
 |
hopsala |
Posted: Tue Oct 25, 2005 5:16 pm Post subject: Re: confimred by IBM (MQ v6 on Linux - can't build C++ sampl |
|
|
 Guardian
Joined: 24 Sep 2004 Posts: 960
|
h_wolf wrote: |
IBM has confirmed that they have reproduced the problem, but have not given me a timeline estimate for a fix. |
Isn't that precious? IBM having the same problem as you, reassuring indeed...
Anyway, when you do know the solution, post it here for future generations; Cheers! |
|
Back to top |
|
 |
wschutz |
Posted: Tue Oct 25, 2005 5:22 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
(its an unsupported platform), but I can compile and run the C++ samples on FC3,,,,  _________________ -wayne |
|
Back to top |
|
 |
h_wolf |
Posted: Thu Oct 27, 2005 11:20 am Post subject: |
|
|
Novice
Joined: 04 Oct 2005 Posts: 11
|
wschutz wrote: |
(its an unsupported platform), but I can compile and run the C++ samples on FC3,,,,  |
Yes, I know the C++ examples build fine with a modern compiler (gcc v3.2). The problem is that we need to support our customers who have not upgraded past old installations of MQSeries, where the only available libraries are from gcc v2.95 - therefore we need to build our software using gcc 2.95
Did you build the sample code with the older GCC g++ compilier by modifying IBM's example make line that I supplied in a previous posting:
/usr/local/gcc/2.95.3/bin/g++ -o imqsput imqsput.cpp -fsigned-char
-I/opt/mqm/inc -L/opt/mqm/lib/2.95 -Wl,-rpath=/opt/mqm/lib/2.95
-Wl,-rpath=/usr/lib -limqs23gl -limqb23gl -lmqm
I am sure if you try this test, you will also get the same error message I have reported.
--
Harry Wolfson |
|
Back to top |
|
 |
h_wolf |
Posted: Thu Nov 17, 2005 1:53 pm Post subject: Re: confimred by IBM (MQ v6 on Linux - can't build C++ sampl |
|
|
Novice
Joined: 04 Oct 2005 Posts: 11
|
hopsala wrote: |
h_wolf wrote: |
IBM has confirmed that they have reproduced the problem, but have not given me a timeline estimate for a fix. |
Isn't that precious? IBM having the same problem as you, reassuring indeed...
Anyway, when you do know the solution, post it here for future generations; Cheers! |
IBM has confirmed that WMQ v6 shipped with broken C++ compatibility libraries for Linux platforms and gcc v2.95 (ie the libraries in /opt/mqm/lib/2.95).
I filed pmr 03390,756,000 (a non-confirmed customer problem report) which has since been turned into IY78390 (a confirmed bug) and IBM sent me a patch which fixed the problem.
This fix will make an upcoming, official CSD patch release (at an undefined date in the future). Unfortunately, it missed the just-released CSD01 (aka 6.0.1.0)
--
Harry Wolfson |
|
Back to top |
|
 |
|