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 API Support » AMQ6175 - MQ could not load gnx2.dll - WHY ?

Post new topic  Reply to topic
 AMQ6175 - MQ could not load gnx2.dll - WHY ? « View previous topic :: View next topic » 
Author Message
sebastia
PostPosted: Wed Jun 07, 2006 10:41 pm    Post subject: AMQ6175 - MQ could not load gnx2.dll - WHY ? Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

My Message Exit does not load ...

In the Sender channel, it is declared "gnx2(gna)"

The code (gnx2.c) inside has :

+++

void MQStart ( ) { ; } ;

void MQENTRY gna (

+++

Compiler options :

+++
CL /MD /GD /V"versio 1.2" /LD /I"C:\Program Files\IBM\WebSphere MQ\Tools\c\include" GNX2.C "c:\Program Files\IBM\WebSphere MQ\Tools\Lib\mqm.lib" "c:\Program Files\IBM\WebSphere MQ\Tools\Lib\mqmvx.lib"

+++

TRC file related to RUNMQCHL is :

+++
0000D34F 08:20:45.657772 2096.1 -----} zstMQSET (rc=OK)
0000D350 08:20:45.658448 2096.1 -----{ rriInitExits
0000D351 08:20:45.658457 2096.1 ------{ lpiSPIAlter
0000D352 08:20:45.658553 2096.1 -------{ zstVerifyPCD
0000D353 08:20:45.658561 2096.1 -------} zstVerifyPCD (rc=OK)
0000D354 08:20:45.658568 2096.1 -------{ xcsCheckPointer
0000D355 08:20:45.658574 2096.1 -------} xcsCheckPointer (rc=OK)
0000D356 08:20:45.658588 2096.1 ------} lpiSPIAlter (rc=OK)
0000D357 08:20:45.658605 2096.1 ------{ xcsLoadFunction
0000D358 08:20:45.658613 2096.1 Object:gnx2
0000D359 08:20:45.658622 2096.1 Trace from production path
0000D35A 08:20:45.659757 2096.1 C:\Program Files\IBM\WebSphere MQ\exits\gnx2.dll found
0000D35B 08:20:45.659771 2096.1 FullPathObj:C:\Program Files\IBM\WebSphere MQ\exits\gnx2.dll
0000D35C 08:20:45.660497 2096.1 -------{ xcsFFST
0000D35D 08:20:45.660512 2096.1 !! - ErrorCode :- 20006175 Numeric Insert1 :- 0000007f (127) Numeric Insert2 :- 00000000 (0)
0000D35E 08:20:45.660519 2096.1 !! - gnx2
0000D35F 08:20:45.660525 2096.1 !! - GetProcAddress
0000D360 08:20:45.660531 2096.1 --------{ xcsRequestThreadMutexSem
0000D368 08:20:45.660639 2096.1 --------} xcsRequestThreadMutexSem (rc=OK)
0000D369 08:20:45.660652 2096.1 --------{ xcsDisplayMessageForSubpool
0000D36A 08:20:45.660672 2096.1 ---------{ xcsQueryValueForSubpool
0000D36B 08:20:45.660681 2096.1 ---------} xcsQueryValueForSubpool (rc=OK)
0000D36C 08:20:45.660688 2096.1 ---------{ xcsDisplayMessageForSubpool
0000D36D 08:20:45.660698 2096.1 msgid:20006175 a1:0000007F a2:00000000 c1:gnx2 c2:GetProcAddress c2:(null)
0000D36E 08:20:45.660710 2096.1
+++

FDC file has :
+++
| Probe Id :- XY176002 |
| Application Name :- MQM |
| Component :- xcsLoadFunction |
| Build Date :- Aug 2 2005 |
| CMVC level :- p530-11-L050802 |
| Build Type :- IKAP - (Production) |
| UserID :- MUSR_MQADMIN |
| Process Name :- C:\Program Files\IBM\WebSphere MQ\bin\runmqchl.EXE |
| Process :- 00002152 |
| Thread :- 00000001 |
| QueueManager :- RQM |
| Major Errorcode :- xecU_S_LOAD_FAILED |
| Minor Errorcode :- OK |
| Probe Type :- MSGAMQ6175 |
| Probe Severity :- 2 |
| Probe Description :- AMQ6175: El sistema no ha podido cargar dinámicamente |
| la biblioteca gnx2. El código de retorno del sistema es 127. El gestor de |
| colas continuará sin ese módulo. |
| FDCSequenceNumber :- 0 |
| Arith1 :- 127 7f |
| Comment1 :- gnx2 |
| |
| Comment2 :- GetProcAddress
+++

=============================
=============================
=============================
=============================

>>> WHAT IS THAT "127" return code ???
=============================
=============================
=============================
=============================

( I see I am missing a "name.DEF" file for compiling ...
Could it be the reason ??? )
Back to top
View user's profile Send private message Visit poster's website
sebastia
PostPosted: Wed Jun 07, 2006 10:47 pm    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

Using a myexit.def file :

Its contents is :

+++
LIBRARY exit
PROTMODE
DESCRIPTION ’Provides Retry and Channel exits’
CODE SHARED LOADONCALL
DATA NONSHARED MULTIPLE
HEAPSIZE 4096
STACKSIZE 8192
EXPORTS Retry

+++

The CL resuts are now :

+++
GNX2.C
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/out:GNX2.dll
/dll
/implib:GNX2.lib
/def:myexit.def
GNX2.obj
"c:\Program Files\IBM\WebSphere MQ\Tools\Lib\mqm.lib"
"c:\Program Files\IBM\WebSphere MQ\Tools\Lib\mqmvx.lib"
myexit.def : warning LNK4017: PROTMODE statement not supported for the target platform; ignored
myexit.def : warning LNK4017: CODE statement not supported for the target platform; ignored
myexit.def : warning LNK4017: DATA statement not supported for the target platform; ignored
myexit.def : error LNK2001: unresolved external symbol Retry
GNX2.lib : fatal error LNK1120: 1 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
+++

? any clue ?
Back to top
View user's profile Send private message Visit poster's website
sebastia
PostPosted: Wed Jun 07, 2006 11:01 pm    Post subject: Reply with quote

Grand Master

Joined: 07 Oct 2004
Posts: 1003

Solution :

myexit.def file with :

+++
LIBRARY GNX2

PROTMODE

DESCRIPTION 'GN Channel Translation Exit'

CODE SHARED
DATA NONSHARED MULTIPLE

HEAPSIZE 16384
STACKSIZE 16384

EXPORTS gna @1
+++

Compile as this :

+++

CL /MD /GD /V"versio 1.2" /LD /I"C:\Program Files\IBM\WebSphere MQ\Tools\c\include" GNX2.C "c:\Program Files\IBM\WebSphere MQ\Tools\Lib\mqm.lib" "c:\Program Files\IBM\WebSphere MQ\Tools\Lib\mqmvx.lib" -DEFAULTLIB myexit.def

+++


Enjoy !
Back to top
View user's profile Send private message Visit poster's website
dutchman
PostPosted: Fri Jul 28, 2006 3:06 am    Post subject: AMQ6175 IP chl exit when porting to Sun Solaris Reply with quote

Acolyte

Joined: 15 May 2001
Posts: 71
Location: Netherlands

Hya chaps ... I've added my related problem to this thread. Hope it's ok.
basically, I've got a chl exit that checks the incoming IP address, and check that against a file of 'allowed' IP addresses. Nice and simple and it works fine under Linux (V5.3 CSd12)

I'm now porting it to Sun Solaris (MQ V5.3 CSD7) and the first hurdle was trying to find the 'correct' parameters for gcc to work. The IBM Intercommuncation manual is not exactly very helpful.

I did, however, find the following link useful: http://www.mail-archive.com/mqseries@listserv.meduniwien.ac.at/msg05999.html

The first issue however, is that the -lmqm_r parameter does not work under Solaris, so I left it off. It then compiled/linked ok, but than gave the AMQ6175 error, e.g.

07/27/06 14:46:34
AMQ6175: The system could not dynamically load the library
/var/mqm/exits/eqits_IPexit. The error message was ld.so.1: amqcrsta: fatal:
libgcc_s.so.1: open failed: No such file or directory. The queue manager will
continue without this module.

I then followed the 2nd suggestion in the weblink, which was to use the -R parm to specifically give it the reference to file libgcc_s_so.1 (which fyi was libgcc_s.so.1 => /sbcimp/run/pd/gcc/3.2.1/lib/libgcc_s.so.1 - using the ldd output).

So the -R was supplied to gcc, recompiled/linked and now I've got the dreaded SIGSEGV FDC.

I'll start by chaning the code so that initially it does nothing, and then gradually add more and more code, but I'm more concerned with the gcc queries.

Regards ... R
Back to top
View user's profile Send private message Send e-mail
dutchman
PostPosted: Fri Jul 28, 2006 7:49 am    Post subject: Reply with quote

Acolyte

Joined: 15 May 2001
Posts: 71
Location: Netherlands

problem solved. For some reason a 'strcpy' which worked fine under Linux had to be replaced by a 'strncpy'.
I am still running with the -R gcc parm.

Cheers ... R
Back to top
View user's profile Send private message Send e-mail
mvic
PostPosted: Fri Jul 28, 2006 7:57 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

dutchman wrote:
problem solved. For some reason a 'strcpy' which worked fine under Linux had to be replaced by a 'strncpy'.
I am still running with the -R gcc parm.

Cheers ... R

Since the original question was for a problem on Windows, it might have been more helpful to have this new question in a new thread.

It looks like I'm the first to say it, but it needs to be said: On Solaris, MQ has been compiled with the Sun compilers, and all testing etc. is done with programs, shared libraries etc. compiled with the Sun compilers. If you get stuff to work that's been compiled with gcc, then great. However, I think I have to point out that IBM Support will not be able to support your MQ system through any related problems you might encounter.

See http://www.ibm.com/support/docview.wss?rs=171&uid=swg27006263 for the official list of supported environments.
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 API Support » AMQ6175 - MQ could not load gnx2.dll - WHY ?
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.