heliophysicsPy / gallery

A Gallery of Examples and Tutorials
4 stars 9 forks source link

Problem building wheels for spacepy #33

Open namurphy opened 2 years ago

namurphy commented 2 years ago

In #32, I ended up getting the following error during the CircleCI build regarding building spacepy.

  customize Gnu95FCompiler
  Could not locate executable gfortran
  Could not locate executable f95
  Traceback (most recent call last):
    File "/home/circleci/project/.tox/build_gallery/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
      main()
    File "/home/circleci/project/.tox/build_gallery/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/circleci/project/.tox/build_gallery/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 262, in build_wheel
      metadata_directory)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 245, in build_wheel
      wheel_directory, config_settings)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
      self.run_setup()
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 282, in run_setup
      self).run_setup(setup_script=setup_script)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 174, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 950, in <module>
      setup(**setup_kwargs)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/numpy/distutils/core.py", line 169, in setup
      return old_setup(**new_attr)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 87, in setup
      return distutils.core.setup(**attrs)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 177, in setup
      return run_commands(dist)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 193, in run_commands
      dist.run_commands()
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
      self.run_command(cmd)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 1217, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 317, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 1217, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
      cmd_obj.run()
    File "setup.py", line 733, in run
      self.compile_irbempy()
    File "setup.py", line 507, in compile_irbempy
      f2py_env, fcompexec = f2py_options(fcompiler, self.distribution)
    File "setup.py", line 200, in f2py_options
      fcomp.customize(dist)
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/numpy/distutils/fcompiler/__init__.py", line 457, in customize
      self.find_executables()
    File "/tmp/pip-build-env-xyjtq6b7/overlay/lib/python3.7/site-packages/numpy/distutils/fcompiler/__init__.py", line 346, in find_executables
      raise CompilerNotFound('%s: f90 nor f77' % ctype)
  numpy.distutils.fcompiler.CompilerNotFound: gnu95: f90 nor f77
  ----------------------------------------
  ERROR: Failed building wheel for spacepy
  Building wheel for cdflib (pyproject.toml): started
  Building wheel for cdflib (pyproject.toml): finished with status 'done'
  Created wheel for cdflib: filename=cdflib-0.4.4-py3-none-any.whl size=79220 sha256=748ddd0b02c9206191e4ec4c5eaf920c250ea4290b6b570cea023c5723b78dff
  Stored in directory: /home/circleci/.cache/pip/wheels/58/1f/02/5567c76a728aeb17cb09350093fbc70787014ca1740f50e862
  Building wheel for hapiclient (setup.py): started
  Building wheel for hapiclient (setup.py): finished with status 'done'
  Created wheel for hapiclient: filename=hapiclient-0.2.4-py3-none-any.whl size=30812 sha256=d6327a04912fb7308f0ba9bb33c9eff1f519df0946adcfd97e2d9858d812c629
  Stored in directory: /home/circleci/.cache/pip/wheels/68/1c/03/1eacba32fce0db45be3a2890e16178f35592b196041ae905e3
Successfully built sphinx-gallery pytplot aiapy cdflib hapiclient
Failed to build spacepy
ERROR: Could not build wheels for spacepy, which is required to install pyproject.toml-based projects
WARNING: You are using pip version 21.3.1; however, version 22.1.2 is available.
You should consider upgrading via the '/home/circleci/project/.tox/build_gallery/bin/python -m pip install --upgrade pip' command.

=================================== log end ====================================
ERROR: could not install deps [sphinx, sphinx-gallery, -rrequirements.txt]; v = InvocationError('/home/circleci/project/.tox/build_gallery/bin/python -m pip install sphinx sphinx-gallery -rrequirements.txt', 1)
___________________________________ summary ____________________________________
ERROR:   build_gallery: could not install deps [sphinx, sphinx-gallery, -rrequirements.txt]; v = InvocationError('/home/circleci/project/.tox/build_gallery/bin/python -m pip install sphinx sphinx-gallery -rrequirements.txt', 1)

Exited with code exit status 1
Cadair commented 2 years ago

Looks like you need to add a step to the build which installs gfortran with apt.

sapols commented 2 years ago

Yep I'm sure that's what it is too. Sadly. I'm pushing for SpacePy to stop requiring fortran stuff.

Cadair commented 2 years ago

Building binary wheels for spacepy would also make installation a lot easier on supported platforms.