Compiling Math::Pari On Sparc Solaris 9
[Moozik: Covenant - Storm]
Net::SSH::Perl is well known for not being the easiest Perl module on the planet to install. This is in no small part due to one of its prerequisites Math::Pari. Every single time I've needed to install Net::SSH::Perl, Math::Pari never fails to give me a headache.
I finally got everything working on one of our Solaris 9 dev machines today and I swear I've never had a bigger grin - I was so relieved. The problem basically boiled down to fun and games in detecting the processor family from the Makefile.PL.
Creating libPARI/paricfg.h...
...Processor of family `sparcv9' detected
Checking if your kit is complete...
Looks good
...Processor of family `sparcv9' detected
...I will use assembler build of type 'sparcv8_micro'.
Hmm assembler build type of sparcv8 on a sparcv9? Ok, I'll go with that ;-) Let's see what happens when we try and build it.
./pariinl.h: In function `gmul':
./pariinl.h:887: error: asm-specifier for variable `hiremainder' conflicts with asm clobber list
*** Error code 1
make: Fatal error: Command failed for target `gen1.o'
Nice. I did find a very promising solution which at this point I was willing to try. And it worked like a charm.
make clean
perl Makefile.PL machine=none
Once the assembler build type auto-detection had been turned off with machine=none, everything compiled cleanly. All tests passed and Math::Pari installed like a charm.
I don't know who the Dave in question is who posted that snippet of goodness in the RT ticket, but I owe him a beer regardless.
Leave a comment