[Numpy-discussion] Solaris Sparc build broken

Michael Droettboom mdroe at stsci.edu
Tue Nov 10 16:18:07 EST 2009


I don't know if your 'long double' detection code is complete yet, but I 
thought I'd share the current build output on one of our Solaris 
machines.  It looks like it may just be a typo difference between 
'IEEE_QUAD_BE' in long_double_representation() and 'IEEE_QUAD_16B_BE' in 
setup.py, but I wanted to confirm.

 > uname -a
SunOS grail.stsci.edu 5.8 Generic_117350-62 sun4u sparc SUNW,Ultra-5_10

compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/include -I/usr/stsci/pyssgdev/Python-2.5.4/include/python2.5 -c'

cc: _configtest.c
removing: _configtest.c _configtest.o
Traceback (most recent call last):
  File "setup.py", line 187, in <module>
    setup_package()
  File "setup.py", line 180, in setup_package
    configuration=configuration )
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/core.py", line 186, in setup
    return old_setup(**new_attr)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/dist.py", line 974, in run_commands
    self.run_command(cmd)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/dist.py", line 994, in run_command
    cmd_obj.run()
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/command/install.py", line 52, in run
    r = old_install.run(self)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/command/install.py", line 506, in run
    self.run_command('build')
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/dist.py", line 994, in run_command
    cmd_obj.run()
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/command/build.py", line 37, in run
    old_build.run(self)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/command/build.py", line 112, in run
    self.run_command(cmd_name)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "/usr/stsci/pyssgdev/Python-2.5.4/lib/python2.5/distutils/dist.py", line 994, in run_command
    cmd_obj.run()
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/command/build_src.py", line 152, in run
    self.build_sources()
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/command/build_src.py", line 169, in build_sources
    self.build_extension_sources(ext)
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/command/build_src.py", line 328, in build_extension_sources
    sources = self.generate_sources(sources, ext)
  File "/grail/data1/iraf/work/build.grail.numpy.iraf/numpy/numpy/distutils/command/build_src.py", line 385, in generate_sources
    source = func(extension, build_dir)
  File "numpy/core/setup.py", line 425, in generate_config_h
    raise ValueError("Unrecognized long double format: %s" % rep)
ValueError: Unrecognized long double format: IEEE_QUAD_BE



David Cournapeau wrote:
> On Thu, Nov 5, 2009 at 4:55 AM, Michael Droettboom <mdroe at stsci.edu> wrote:
>   
>> David Cournapeau wrote:
>>     
>>> On Thu, Nov 5, 2009 at 2:15 AM, Michael Droettboom <mdroe at stsci.edu> wrote:
>>>
>>>       
>>>> I'm getting the following from r7603 on Solaris Sparc -- somehow related
>>>> to not having a long double version of next after available.  I realise
>>>> not everyone has access to (or is dependent on) this platform, so I'm
>>>> willing to help in whatever way I can, I'm just not sure I understand
>>>> the change yet.
>>>>
>>>>         
>>> The only way to implement nextafter that I know of requires to know
>>> the exact representation of the floating point number, and long double
>>> is unfortunately platform dependent.
>>>
>>> What is the long double format on solaris sparc ? (big endian I
>>> suppose, but how many bits for the mantissa and  exponent ? Does it
>>> follow IEER754 ?)
>>>
>>>       
>> I honestly don't know -- I've never had to use them.  It would be great
>> to solve this properly but it's difficult to find definitive information
>> about these things.
>>
>> Assuming we can't solve this the "right" way before the next release,
>> would it be possible for this to raise a runtime "NotImplemented" error
>> (by not defining the LONGDOUBLE_nextafter ufunc) rather than raising a
>> compiler error which prevents the build from completing?
>>     
>
> To be honest, I thought this condition would never arise (I am quite
> surprised that solaris does not have nextafter - both BSD and GNU libc
> use the Sun implementation for this function).
>
> If this is not fixed within the code freeze (16th november), the
> feature will be removed altogether for 1.4.0. I don't want to go down
> the road of different feature set for different platforms.
>
> David
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>   

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA




More information about the NumPy-Discussion mailing list