Compiling Math::Pari On Sparc Solaris 9

| Comments (0)

[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

About this Entry

This page contains a single entry by kev published on October 23, 2007 1:55 PM.

Abysmal Start To The Season was the previous entry in this blog.

Today In Big Brother News is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.