-----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) line1318. 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 supportfor it (e.g., ivsize is 8).
Ok - such a fixed version of t/attribPDL.t is also attached. Cheers,Rob
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
.
Types.pm
Description: Binary data
attribPDL.t
Description: Binary data
_______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
