more useful options | |
PerlMonks |
"loadable library" mismatch on new installationby halfcountplus (Hermit) |
on Apr 11, 2016 at 22:25 UTC ( [id://1160151]=perlquestion: print w/replies, xml ) | Need Help?? |
halfcountplus has asked for the wisdom of the Perl Monks concerning the following question: I have a project which uses a number of XS modules; this is something I developed over a few years and released publicly, but have never considered it to be of much interest to others: http://perl-sloop.net/; I just wanted to see it through from start to a particular finish. I do think it's the greatest thing since sliced bread and use it wherever I need a web server (including that site), but all this is mostly besides the point. By far the most unpleasant part of that experience was creating portable packages for the XS modules, which mostly ended up as an adventure in cargo-cult style reliance on ExtUtils::MakeMaker with simple Makefile.PL's like this:
And a version of ppport.h that I created or copied from somewhere at some point. Anyway, that's the backstory, here's the problem: I recently installed this on an ARMv6 machine (Raspberry Pi) running a version of Debian 8. I've had Pi's almost as long as I've had Sloop, and never had a problem using the tarball from my website to install it. Same thing this time. However, for unrelated reasons, the system had to be upgraded to Debian "stretch"/testing, aka., what will be Debian 9, which upgraded perl from 5.20.2 to 5.22.1, and I had to then rebuild Sloop. The modules build, then they're installed before testing because some of the tests are circular and/or a bit of laziness is involved at this point (not a big concern since, as mentioned, this is not a project I've ever expected anyone else to take interest in). Unfortunately, what then happens when I go run the tests is:
Note the "Lib.c" here presumably refers to part of the Sloop::Lib module. This happens nearly right away, before any of the actual .t tests are ran, when a check is done by the installer:
Sloop::Client is pure perl but makes use of Sloop::Lib, which has XS bits, and this is the first point where those are needed. Any other similar test/example requiring the compiled XS code produces the same problem. Note, with a bit of re-iteration:
Where do I start diagnosing this problem? I am very willing to abandon ExtUtils::MakeMaker and use some other method -- I really don't care.
Back to
Seekers of Perl Wisdom
|
|