32-bit versions1 seem to be ok.  Both 0.71 and 0.72 print (consistently):

9175224 4194672

While I was at it, I also tried a few more 64-bit versions on other machines (5.10.0, 5.10.1, 5.12.22). All exhibited the same wonkiness mentioned earlier. So it clearly seems to be a 64-bit incompatibility.

Two more notes:

(1)  In your Makefile.PL you have a line

LIBS => $Config{cc} eq 'gcc' || $Config{cc} eq 'cc' ? ['-lstdc++'] : + '',

With some of the perls I had tried, $Config{cc} was set to an absolute path '/usr/local/bin/gcc', or to 'gcc ' (yes, with a trailing space - not sure where this came from, I didn't knowingly put it there). So, your check didn't match, and libstdc++ wasn't linked in, which in turn led to the usual undefined reference to '__gxx_personality_v0' when Dynaloader tried to load the .so file.

Something like the following might be slightly more robust:

LIBS => $Config{cc} =~ /\bg?cc\s*$/ ? ['-lstdc++'] : '',

(2)  When trying to build Devel-Size-0.72 for 5.12.2 with a more recent and picky gcc (v4.3.2), I got the following errors:

Size.xs: In function 'UV thing_size(const SV*, char* (*)[8192])': Size.xs:552: error: invalid conversion from 'const void*' to 'void*' Size.xs:553: error: invalid conversion from 'const void*' to 'void*' Size.xs:554: error: invalid conversion from 'const void*' to 'void*' make: *** [Size.o] Error 1

Explicitly casting thing to non-const void* 'fixed' it:

/* Is there something hanging off the arylen element? */ if (AvARYLEN((void*)thing)) { if (check_new(tv, AvARYLEN((void*)thing))) { total_size += thing_size(AvARYLEN((void*)thing), tv);

__________

And here the 'perl -V's, just in case:

1)

Summary of my perl5 (revision 5 version 10 subversion 1) configuration +: Platform: osname=linux, osvers=2.6.12.6-xen, archname=i686-linux-thread-mult +i uname='linux os-rh9 2.6.12.6-xen #1 smp tue jan 31 15:36:43 gmt 20 +06 i686 athlon i386 gnulinux ' config_args='-Dusethreads -Duseshrplib -Dldflags=-ldb-4.0 -Dcc=/us +r/local/bin/gcc -Dprefix=/usr/local/perl/5.10.1 -Dsiteprefix=/usr/lo +cal/perl/site_perl/5.10.1 -Dvendorprefix=/usr/local/perl/vendor_perl/ +5.10.1 -Uinstallusrbinperl -Uusemymalloc -des' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='/usr/local/bin/gcc ', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fn +o-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_F +ILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -I +/usr/local/include' ccversion='', gccversion='3.2.2 20030222 (Red Hat Linux 3.2.2-5)', + gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +2 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='/usr/local/bin/gcc ', ldflags ='-ldb-4.0 -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.s +o gnulibc_version='2.3.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E - +Wl,-rpath,/usr/local/perl/5.10.1/lib/5.10.1/i686-linux-thread-multi/C +ORE' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_ITH +READS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Dec 23 2010 03:51:09 @INC: /usr/local/perl/5.10.1/lib/5.10.1/i686-linux-thread-multi /usr/local/perl/5.10.1/lib/5.10.1 /usr/local/perl/site_perl/5.10.1/lib/site_perl/5.10.1/i686-linux-t +hread-multi /usr/local/perl/site_perl/5.10.1/lib/site_perl/5.10.1 /usr/local/perl/vendor_perl/5.10.1/lib/vendor_perl/5.10.1/i686-lin +ux-thread-multi /usr/local/perl/vendor_perl/5.10.1/lib/vendor_perl/5.10.1 /usr/local/perl/vendor_perl/5.10.1/lib/vendor_perl .

2)

Summary of my perl5 (revision 5 version 12 subversion 2) configuration +: Platform: osname=linux, osvers=2.6.27.54-0.1-default, archname=x86_64-linux- +thread-multi uname='linux flavius 2.6.27.54-0.1-default #1 smp 2010-10-19 18:40 +:07 +0200 x86_64 x86_64 x86_64 gnulinux ' config_args='-Dusethreads -Dldflags=-ldb -Dcc=gcc -Dnoextensions= +ODBM_File -Dprefix=/usr/local/perl/5.12.2 -Dsiteprefix=/usr/local/per +l/site_perl/5.12.2 -Dvendorprefix=/usr/local/perl/vendor_perl/5.12.2 +-Uinstallusrbinperl -Uusemymalloc -des' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc ', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasi +ng -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE - +D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -f +stack-protector -I/usr/local/include' ccversion='', gccversion='4.3.2 [gcc-4_3-branch revision 141291]', + gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +6 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc ', ldflags ='-ldb -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/l +ib64 libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -l +c -lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.9.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.9' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstac +k-protector' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_ +BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under linux Compiled at Nov 23 2010 18:49:46 @INC: /usr/local/perl/site_perl/5.12.2/lib/site_perl/5.12.2/x86_64-linux +-thread-multi /usr/local/perl/site_perl/5.12.2/lib/site_perl/5.12.2 /usr/local/perl/vendor_perl/5.12.2/lib/vendor_perl/5.12.2/x86_64-l +inux-thread-multi /usr/local/perl/vendor_perl/5.12.2/lib/vendor_perl/5.12.2 /usr/local/perl/5.12.2/lib/5.12.2/x86_64-linux-thread-multi /usr/local/perl/5.12.2/lib/5.12.2 .


In reply to Re^9: sorting two arrays together by Anonyrnous Monk
in thread sorting two arrays together by siskos1

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.