Skip to content

tests fail on Mac with Python 3.7.4, built with Spack. #6263

@hartzell

Description

@hartzell

Describe the bug

I'm updating the Spack package for statsmodels (in this Pull Request) to include v0.10.1. I'm on a Mac running OS X 10.13.6 and am using a mixed toolchain that combines clang v10.0.0 with gfortran from gcc 9.2.0.

It previously only supported v0.8.0. The previous version of the package did not run statsmodels' tests.

When I enable statsmodels' tests, it crashes with the following error, ultimately from scipy:

Traceback (most recent call last):
  File "setup.py", line 346, in <module>
    data_files=[('', ['LICENSE.txt', 'setup.cfg'])]
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-setuptools-41.4.0-auj3fiauezrmusmyjbzphcpjuqhqsbta/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-setuptools-41.4.0-auj3fiauezrmusmyjbzphcpjuqhqsbta/lib/python3.7/site-packages/setuptools/command/test.py", line 229, in run
    self.run_tests()
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-setuptools-41.4.0-auj3fiauezrmusmyjbzphcpjuqhqsbta/lib/python3.7/site-packages/setuptools/command/test.py", line 251, in run_tests
    exit=False,
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/main.py", line 124, in parseArgs
    self._do_discovery(argv[2:])
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/main.py", line 244, in _do_discovery
    self.createTests(from_discovery=True, Loader=Loader)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/main.py", line 154, in createTests
    self.test = loader.discover(self.start, self.pattern, self.top)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/loader.py", line 349, in discover
    tests = list(self._find_tests(start_dir, pattern))
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/loader.py", line 406, in _find_tests
    full_path, pattern, namespace)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/loader.py", line 483, in _find_test_path
    tests = self.loadTestsFromModule(package, pattern=pattern)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-setuptools-41.4.0-auj3fiauezrmusmyjbzphcpjuqhqsbta/lib/python3.7/site-packages/setuptools/command/test.py", line 55, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/loader.py", line 191, in loadTestsFromName
    return self.loadTestsFromModule(obj)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-setuptools-41.4.0-auj3fiauezrmusmyjbzphcpjuqhqsbta/lib/python3.7/site-packages/setuptools/command/test.py", line 55, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/loader.py", line 191, in loadTestsFromName
    return self.loadTestsFromModule(obj)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-setuptools-41.4.0-auj3fiauezrmusmyjbzphcpjuqhqsbta/lib/python3.7/site-packages/setuptools/command/test.py", line 55, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/lib/python3.7/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/private/var/folders/f7/fcb363190nz0jbypndp3nj_m0000gn/T/hartzell/spack-stage/spack-stage-py-statsmodels-0.10.1-ud4qbhmf7ffyidkdehobbg2idavdfbt4/spack-src/statsmodels/sandbox/tsa/try_var_convolve.py", line 147, in <module>
    yff = fftconvolve(x.astype(float)[:,:,None],a3f)
  File "/private/var/folders/f7/fcb363190nz0jbypndp3nj_m0000gn/T/hartzell/spack-stage/spack-stage-py-statsmodels-0.10.1-ud4qbhmf7ffyidkdehobbg2idavdfbt4/spack-src/statsmodels/tsa/filters/filtertools.py", line 77, in fftconvolveinv
    IN1 = fft.fftn(in1,fsize)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-scipy-1.3.2-t4ns676iwabls65jakratet2d5leqcoy/lib/python3.7/site-packages/scipy/fftpack/basic.py", line 624, in fftn
    return _raw_fftn_dispatch(x, shape, axes, overwrite_x, 1)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-scipy-1.3.2-t4ns676iwabls65jakratet2d5leqcoy/lib/python3.7/site-packages/scipy/fftpack/basic.py", line 639, in _raw_fftn_dispatch
    return _raw_fftnd(tmp, shape, axes, direction, overwrite_x, work_function)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-scipy-1.3.2-t4ns676iwabls65jakratet2d5leqcoy/lib/python3.7/site-packages/scipy/fftpack/basic.py", line 530, in _raw_fftnd
    s, axes = _init_nd_shape_and_axes_sorted(x, s, axes)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-scipy-1.3.2-t4ns676iwabls65jakratet2d5leqcoy/lib/python3.7/site-packages/scipy/fftpack/helper.py", line 271, in _init_nd_shape_and_axes_sorted
    shape, axes = _init_nd_shape_and_axes(x, shape, axes)
  File "/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-scipy-1.3.2-t4ns676iwabls65jakratet2d5leqcoy/lib/python3.7/site-packages/scipy/fftpack/helper.py", line 226, in _init_nd_shape_and_axes
    raise ValueError("when given, shape values must be integers")
ValueError: when given, shape values must be integers
==> Error: ProcessError: Command exited with status 1:
    '/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/python-3.7.4-ew4djiffqu2foj6hqix6xtacn33iwul2/bin/python3.7' '-s' 'setup.py' '--no-user-cfg' 'test'

Code Sample, a copy-pastable example if possible

I realize/apologize that this is a heavyweight recreation example. Given the PR branch, you can recreate the error with:

spack install -v --test=root py-statsmodels

I do not see any similar issues in the statsmodels or scipy repositories. I have not tried the current master version.

Expected Output

I expect the test to pass.

Output of import statsmodels.api as sm; sm.show_versions()

The following output uses the library after installing it without running its tests.

Details

(alice)[09:57:06]spack>>module load py-statsmodels
(alice)[09:57:24]spack>>python
Python 3.7.4 (default, Nov 19 2019, 10:42:46)
[Clang 10.0.0 (clang-1000.10.44.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import statsmodels.api as sm; sm.show_versions()

INSTALLED VERSIONS

Python: 3.7.4.final.0
OS: Darwin 17.7.0 Darwin Kernel Version 17.7.0: Fri Oct 4 23:08:59 PDT 2019; root:xnu-4570.71.57~1/RELEASE_X86_64 x86_64
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8

Statsmodels

Installed: 0.10.1 (/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-statsmodels-0.10.1-ud4qbhmf7ffyidkdehobbg2idavdfbt4/lib/python3.7/site-packages/statsmodels)

Required Dependencies

cython: Not installed
numpy: 1.17.4 (/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-numpy-1.17.4-3in4mcicpsphvuu2yff6t5q3ebe53jyq/lib/python3.7/site-packages/numpy)
scipy: 1.3.2 (/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-scipy-1.3.2-t4ns676iwabls65jakratet2d5leqcoy/lib/python3.7/site-packages/scipy)
pandas: 0.25.1 (/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-pandas-0.25.1-jlqq2j72mehrre43e6v6b72jgdwtkal7/lib/python3.7/site-packages/pandas)
dateutil: 2.8.0 (/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-python-dateutil-2.8.0-ievtkb7dvscoip3h2gd3evvoasxfqqul/lib/python3.7/site-packages/dateutil)
patsy: 0.4.1 (/Users/hartzell/tmp/spack/opt/spack/darwin-highsierra-x86_64/clang-10.0.0-apple/py-patsy-0.4.1-7wxkn2mcajxqvfclxxsrsuqnbupn2njd/lib/python3.7/site-packages/patsy)

Optional Dependencies

matplotlib: Not installed
cvxopt: Not installed
joblib: Not installed

Developer Tools

IPython: Not installed
jinja2: Not installed
sphinx: Not installed
pygments: Not installed
pytest: Not installed
virtualenv: Not installed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions