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 » General Discussion » Perl Module MQSeries-1.23 Install onAIX 5

Post new topic  Reply to topic
 Perl Module MQSeries-1.23 Install onAIX 5 « View previous topic :: View next topic » 
Author Message
FFSparky
PostPosted: Fri May 27, 2005 11:48 am    Post subject: Perl Module MQSeries-1.23 Install onAIX 5 Reply with quote

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
View user's profile Send private message Visit poster's website
jefflowrey
PostPosted: Tue May 31, 2005 3:15 am    Post subject: Reply with quote

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
View user's profile Send private message
FFSparky
PostPosted: Tue May 31, 2005 6:05 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
jefflowrey
PostPosted: Tue May 31, 2005 6:20 am    Post subject: Reply with quote

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
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 » General Discussion » Perl Module MQSeries-1.23 Install onAIX 5
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.