|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Perl Module MQSeries-1.23 Install onAIX 5 |
« View previous topic :: View next topic » |
Author |
Message
|
FFSparky |
Posted: Fri May 27, 2005 11:48 am Post subject: Perl Module MQSeries-1.23 Install onAIX 5 |
|
|
 Novice
Joined: 23 Dec 2003 Posts: 16 Location: Des Moines, Iowa
|
I'm trying to install the perl module MQSeries-1.23 on AIX and running into a compile issue.
Here's my environment:
>oslevel
5.2.0.0
>lslpp -l | grep mq
mqm.Client.Bnd 5.3.0.1 COMMITTED WebSphere MQ Client Bundle
mqm.Server.Bnd 5.3.0.1 COMMITTED WebSphere MQ Server Bundle
mqm.base.runtime 5.3.0.8 APPLIED WebSphere MQ Runtime for
mqm.base.samples 5.3.0.8 APPLIED WebSphere MQ Samples
mqm.base.sdk 5.3.0.8 APPLIED WebSphere MQ Base Kit for
mqm.client.rte 5.3.0.8 APPLIED WebSphere MQ Client for AIX
mqm.java.rte 5.3.0.8 APPLIED WebSphere MQ Java Client and
mqm.msg.en_US 5.3.0.8 APPLIED WebSphere MQ Messages - U.S.
mqm.server.rte 5.3.0.8 APPLIED WebSphere MQ Server
mqm.base.runtime 5.3.0.8 APPLIED WebSphere MQ Runtime for
mqm.man.en_US.data 5.3.0.8 APPLIED WebSphere MQ Man Pages - U.S.
>perl -v
This is perl, v5.8.0 built for aix-thread-multi
Copyright 1987-2002, Larry Wall
So when I try and make the module:
>make install
cc_r -c -I"/usr/lpp/mqm/inc" -I../include -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUS
E_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"1.23\" -DXS_VERSION=\"1.23\" "-I/usr/opt/perl
5/lib/5.8.0/aix-thread-multi/CORE" MQSeries.c
"/usr/include/crypt.h", line 46.16: 1506-334 (S) Identifier crypt_data has already been defined on line 2187 of "/usr/opt/perl5/lib/
5.8.0/aix-thread-multi/CORE/perl.h".
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 2.
Stop.
I know what the problem is, but I lack the expertise on how to properly resolve it.
So what would be the best way to work around this?
Thanks
Greg Smith |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue May 31, 2005 3:15 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Well, typically with perl modules, it's "make; make test; make install;", not just "make install".
With the MQSeries module in particular, you need to adjust some files in the distribution before you can build it (at least before it can pass it's own tests).
Try "make test TEST_VERBOSE=1" _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
FFSparky |
Posted: Tue May 31, 2005 6:05 am Post subject: |
|
|
 Novice
Joined: 23 Dec 2003 Posts: 16 Location: Des Moines, Iowa
|
Jeff, you are correct, I have had too many attempts and the "make install" was from an old version from a year or so back as I'm trying anything and everything.
However, here's the output from the make:
/usr/common/e368310/MQSeries-1.23> make
cc_r -c -I"/usr/lpp/mqm/inc" -I../include -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUS
E_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O -DVERSION=\"1.23\" -DXS_VERSION=\"1.23\" "-I/usr/opt/perl
5/lib/5.8.0/aix-thread-multi/CORE" MQSeries.c
"/usr/include/crypt.h", line 46.16: 1506-334 (S) Identifier crypt_data has already been defined on line 2187 of "/usr/opt/perl5/lib/
5.8.0/aix-thread-multi/CORE/perl.h".
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 2.
Stop.
-----
From what I can find /usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/perl.h has the following definition:
#if defined(_AIX) && !defined(_AIX43)
#if defined(USE_REENTRANT) || defined(_REENTRANT) || defined(_THREAD_SAFE)
/* We cannot include <crypt.h> to get the struct crypt_data
* because of setkey prototype problems when threading */
typedef struct crypt_data { /* straight from /usr/include/crypt.h */
/* From OSF, Not needed in AIX
char C[28], D[28];
*/
char E[48];
char KS[16][48];
char block[66];
char iobuf[16];
} CRYPTD;
#endif /* threading */
#endif /* AIX */
However /usr/opt/perl5/lib/5.8.0/aix-thread-multi/CORE/reentr.h is including crypt.h:
#ifdef I_CRYPT
# ifdef I_CRYPT
# include <crypt.h>
# endif
#endif
So what's the proper way to work around this?? |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue May 31, 2005 6:20 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I don't know the proper way to resolve this... I'm not an AIX C expert.
I'll suggest tweaking the makefile, by reordering the -I's, and maybe the -D_ALL_SOURCE, -D_ANSI_C_SOURCE and -D_POSIX_SOURCE stanzas.
Or maybe just rerunning perl Makefile.pl and seeing what happens (although likely you've done this?)
And a make clean can be helpful as well. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|