in reply to "loadable library" mismatch on new installation

CCFLAGS => '-Wall -g -O2 --std=gnu99',
I recall MakeMaker replaces CCFLAGS, instead of adding to them. For example, on my system
$ $ perl -MConfig -E 'say $Config{ccflags}' -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/loc +al/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOUR +CE=2
I think compiling XS with wrong CCFLAGS (that don't match the perl's ones) is likely to cause some problems with perl interp size, which is what is mismatched in your .so file (and also other problems). Try:
use Config; ... CCFLAGS => "--std=gnu99 $Config{ccflags}", # if that works, add oth +er stuff, like -g and -Wall... ...
That's just an idea, so let us know if that works.

Replies are listed 'Best First'.
Re^2: "loadable library" mismatch on new installation
by halfcountplus (Hermit) on Apr 12, 2016 at 13:47 UTC

    Thanks for the tip. Unfortunately, other aspects of upgrading completely from jessie to testing/stretch made it not worthwhile vs. the justification (I wanted the `-J` switch available with newer versions of `lsblk`), so since there wasn't much to loose I've scratched the system and put it back to Raspbian 8.

    You have given me something to think about and look into in terms of my packaging though. A point slightly contra this theory, though, is that it worked fine with 5.20.2, some machine, same distro. This doesn't mean it isn't a factor though, see the part of my second response to Anon monk #1 regarding reports of the same problem online clustered last year and all involving 5.22: Re^4: "loadable library" mismatch on new installation.