1
votes

I am installing MQSeries-1.33 Perl module through CPAN shell but it's failing. I am using windows 7 and Strawberry perl v5.16.2.

I also have IBM Websphere MQ v7.5 installed with me.

The module is failing while make. Below is the error.

Cannot add determine value for 'MQENC_TNS', unknown constant 'MQENC_INTEGER_NORMAL '
Cannot add determine value for 'MQGMO_BROWSE_HANDLE', unknown constant 'MQGMO_MARK_BROWSE_HANDLE '
Cannot add determine value for 'MQENC_NORMAL', unknown constant 'MQENC_INTEGER_NORMAL '
Cannot add determine value for 'MQENC_S390', unknown constant 'MQENC_INTEGER_NORMAL '
Cannot add determine value for 'MQENC_REVERSED', unknown constant 'MQENC_INTEGER_REVERSED '
Cannot add determine value for 'MQGMO_BROWSE_CO_OP', unknown constant 'MQGMO_MARK_BROWSE_CO_OP '
typemap.PL: warning: type MQIEP.MQHMSG (MQINT64) not supported
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  MQSeries.xs > MQSeries.xsc && C:\strawberry\perl\bin\perl.exe
 -MExtUtils::Command -e mv -- MQSeries.xsc MQSeries.c
gcc -c  -I"C:/Mqm/Tools/C/include" -I../include         -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"1.
33\"    -DXS_VERSION=\"1.33\"  "-IC:\strawberry\perl\lib\CORE"   MQSeries.c
In file included from MQSeries.xs:66:0:
C:/Mqm/Tools/C/include/cmqc.h:3584:2: error: unknown type name 'int64'
C:/Mqm/Tools/C/include/cmqc.h:3585:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'MQUINT64'
C:/Mqm/Tools/C/include/cmqc.h:3610:2: error: unknown type name 'MQUINT64'
dmake:  Error code 129, while making 'MQSeries.o'
dmake.exe:  Error code 255, while making 'subdirs'
  MQSERIES/MQSeries-1.33.tar.gz
  C:\strawberry\c\bin\dmake.exe -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Stopping: 'install' failed for 'MQSeries'.
Failed during this command:
 MQSERIES/MQSeries-1.33.tar.gz                : make NO
1

1 Answers

1
votes

First off, why don't you download and use the prebuilt MQSeries v1.33 Perl binaries for Windows?

gcc -c -I"C:/Mqm/Tools/C/include" -I../include

IBM does not support GCC on Windows (32-bit nor 64-bit). You need to use a supported compiler i.e. MS Visual C++.

C:/Mqm/Tools/C/include/cmqc.h:3584:2: error: unknown type name 'int64'

An unsupported work around is to add the following define at the very top of your code:

#define _int64 __int64

This will get you by the compile errors but remember, it is not supported by IBM.