[issue9069] test_float failure on Solaris

David Kirkby report at bugs.python.org
Sat Jun 26 01:59:43 CEST 2010


David Kirkby <david.kirkby at onetel.net> added the comment:

Hi,
I had hoped to devote more time to this, but have been able to. I will do at the weekend. 

I would add I was building 64-bit, so adding the compiler flag -m64 on 'hawk' at least some of the time. Depending on your hardware, assuming you have installed !OpenSolaris as a Virtual machine in VirtualBox, it may be a 32 or 64-bit version of OpenSolaris. You need specific instructions from the processor for a 64-bit version and Sony in their infinite wisdom have disabled it on my Vaio laptop, so whilst I can install OpenSolaris as a 64-bit host operating system, any attempt to install a 64-bit guest will fail. 

If I don't chose to compile C99, then I need to add the compiler flag -DHAVE_DECL_ISFINITE=0. 

Otherwise I see:

Objects/object.c:1036: warning: implicit declaration of function 'isinf'

Undefined			first referenced
 symbol  			    in file
isfinite                            ./libpython2.6.so
ld: fatal: symbol referencing errors. No output written to python

Again, the Solaris man page says:

Mathematical Library Functions                       isfinite(3M)

NAME
     isfinite - test for finite value

SYNOPSIS
     c99 [ flag... ] file... -lm [ library... ]
     #include <math.h>

     int isfinite(real-floating x);

implying this is a C99 function. 

This conflicting behavior could be the result of what linker or assembler is being used. On SPARC, I use Sun linker and assembler. On OpenSolaris I use  the Sun linker, but the GNU assembler. 

I would have thought it was better to test this out with small bits of test code like I posted, rather than the complete Python source code. 

It might be better if I just create you an account on 'hawk'. Drop me an email at david <dot> kirkby {at} onetel |dot| net if you want. 

I can also get you an account at the University of Washington if you want on a Sun T5240 SPARC. I've not verified the problem on that machine, but I can do so. Just drop me an email with a preferred user name and I'll sort it out. 

The SPARC is very slow - despite it being a current model of a high end server. It is designed for a different sort of task to developing software. The CPUs are pretty slow (1167 MHz) and pretty dumb, but there are 128 hardware threads. In order to get any useful performance from the T5240, the code needs to be highly parallel or have lots of processes like on busy web servers. That is what 't2' is designed for - a high end web server. 

But 'hawk' is a pretty high spec PC which I run 24/7. 

Dave

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9069>
_______________________________________


More information about the Python-bugs-list mailing list