Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

C++ 64-bit MQSeries Apps

Status
Not open for further replies.

Puvvada

Programmer
Apr 2, 2002
1
US
Hi,

MQ Series Ver 5.2, AIX 4.3

I am trying to compile a 64-bit MQ App. I downloaded a support pack provided by IBM for 64-bit MQ clients. But my application runs on the MQ server itself. I tried to compile the sample C++ application imqsget.cpp by linking the 64-bit libraries. But I get the following errors.

/usr/ibmcxx/bin/xlC -q64 imqsget.o /usr/lpp/xlC/lib/libC.a /usr/mqm/lib64/libimqb23ia.a /usr/mqm/lib64/libmqic.a /usr/mqm/lib64/libmqicb.a /usr/mqm/lib64/libmqmcsc.a /usr/mqm/lib/libimqs23ia.a -o imqsget

ld: 0711-317 ERROR: Undefined symbol: ImqMgr::virtual-fn-table-ptr-table
ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::ImqMgr()
ld: 0711-317 ERROR: Undefined symbol: ImqQue::virtual-fn-table-ptr-table
ld: 0711-317 ERROR: Undefined symbol: .ImqQue::ImqQue()
ld: 0711-317 ERROR: Undefined symbol: .ImqObj::setName(const char*)
ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::setChannelReference(ImqChl*)
ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::connect()
ld: 0711-317 ERROR: Undefined symbol: .ImqObj::setOpenOptions(const int)
ld: 0711-317 ERROR: Undefined symbol: .ImqObj::eek:pen()
ld: 0711-317 ERROR: Undefined symbol: .ImqQue::get(ImqMsg&,ImqGmo3&)
ld: 0711-317 ERROR: Undefined symbol: .ImqObj::close()
ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::disconnect()
ld: 0711-317 ERROR: Undefined symbol: .ImqQue::~ImqQue()
ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::~ImqMgr()
ld: 0711-317 ERROR: Undefined symbol: .ImqObj::setConnectionReference(ImqMgr*)
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.

If anyone tried to compile a 64-bit app before, please share your experiences with me.

Thanks
 
Hi,

I have a similar compile/link problem, did you find out anything about this in the meantime?

Thanks... Dominik.
 
It seems that compiling with 64-bit for MQSeries is currently a problem.


I did a quick search and found out the following:

doing a
nm -C /usr/lib/libimq* | grep setOpenOptions

on the 32-bit libraries gives the following:

[208] | 67708| 116|FUNC |GLOB |0 |9 |unsigned char ImqObj::setOpenOptions(const long)

and doing a
nm -C /opt/mqm/lib64/libimq* | grep setOpenOption

on the 64-bit libraries gives

[288] | 64704| 136|FUNC |GLOB |0 |9 |unsigned char ImqObj::setOpenOptions(const int)


Note the difference in parameters "const long" and "const int".

It seems that the set of exported methods is not the same for the 32-bit libraries and the 64-bit libraries. The header files contain information that does not match the methods contained in the 64-bit-libraries.

This may also be related to the fact that we are using CSD03 (Patch/ServicePack 3) of the base client-installation and there is no new 64-bit package with this patchlevel. We need to test this by installing the client-installation without patchlevel and the corresponding 64-bit libraries to see if this can work.


On the other hand it seems this one is for IBM Support to release a new 64-bit package!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top