-----Original Message----- From: Chris Marshall

And the simplest demo of the error is:

C:\>perl -MPDL -e "$x=pdl(longlong, 1);"

Invalid type 'q' in pack at Basic/Core/Core.pm.PL (i.e. PDL::Core.pm) line
1318.

The following, however, are permitted:

C:\>perl -MPDL -le "$x=pdl(longlong, [1]);print $x"
[1]

C:\>perl -MPDL -le "$x=pdl(longlong, [123456789123456784]);print $x;"
[1.23456789123457e+017]

Thanks, Rob. Does Types.pm for the 32bit perl have a longlong section with a packstr of 'q*'?

Yeah - it doesn't look right. @pack certainly specifies a 'q*' for the PDL_LL type. There's very little difference between the 32-bit-integer Types.pm and 64-bit-integer Types.pm. (See attached Types.diff.) I'm also attaching the actual Types.pm for the 32-bit build of perl-5.16.0 ... and the perl -V output of the very same perl-5.16.0 is in the attached V.txt.

In this case, it would probably be simpler to conditionalize the test and not use 'longlong' unless the perl has support
for it (e.g., ivsize is 8).

Ok - such a fixed version of t/attribPDL.t is also attached.

Cheers,
Rob

Attachment: types.diff
Description: Binary data

Summary of my perl5 (revision 5 version 16 subversion 0) configuration:

 Platform:
   osname=MSWin32, osvers=6.1, archname=MSWin32-x86-multi-thread
   uname=''
   config_args='undef'
   hint=recommended, useposix=true, d_sigaction=undef
   useithreads=define, usemultiplicity=define
   useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
   use64bitint=undef, use64bitall=undef, uselongdouble=undef
   usemymalloc=n, bincompat5005=undef
 Compiler:
   cc='gcc', ccflags
=' -s -O2 -DWIN32  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IM
PLICIT_SYS -fno-strict-aliasing -mms-bitfields',
   optimize='-s -O2',
   cppflags='-DWIN32'
   ccversion='', gccversion='4.7.0', gccosandvers=''
   intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
   d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12
   ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long long',
lseeksize=8
   alignbytes=8, prototype=define
 Linker and Libraries:
   ld='g++', ldflags ='-s -L"c:\Mingw\perl516\lib\CORE" -L"C:\MinGW\lib"'
   libpth=C:\MinGW\lib C:\MinGW\lib\gcc\mingw32\4.7.0
C:\MinGW\msys\1.0\local\lib C:\MinGW\msys\1.0\local\ssl\lib
   libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladva
pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -
lversion -lodbc32 -lodbccp32 -lcomctl32
   perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -l
advapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwin
mm -lversion -lodbc32 -lodbccp32 -lcomctl32
   libc=, so=dll, useshrplib=true, libperl=libperl516.a
   gnulibc_version=''
 Dynamic Linking:
   dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
   cccdlflags=' ',
lddlflags='-mdll -s -L"c:\Mingw\perl516\lib\CORE" -L"C:\MinGW\lib"'


Characteristics of this binary (from libperl):
 Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
                       PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                       PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                       PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC
                       USE_ITHREADS USE_LARGE_FILES USE_LOCALE
                       USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                       USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
 Built under MSWin32
 Compiled at Nov  2 2012 21:12:26
 %ENV:
   PERL_MM_USE_DEFAULT="1"
 @INC:
   C:/MinGW/perl516/site/lib
   C:/MinGW/perl516/lib
   .

Attachment: Types.pm
Description: Binary data

Attachment: attribPDL.t
Description: Binary data

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to