LBL-EESA / fastkde

Other
52 stars 11 forks source link

failure to build sdist with cython 3+ #24

Closed jvesely closed 1 year ago

jvesely commented 1 year ago

cython 3 defaults to language_level=3str [0] which leads to build failures. fastkde needs to either restrict build dependency to cython <3 or explicitly set language_level in cythonized files.

  Building wheel for fastkde (pyproject.toml): started
  Building wheel for fastkde (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  Building wheel for fastkde (pyproject.toml) did not run successfully.
  exit code: 1

  [118 lines of output]
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win32-cpython-38
  creating build\lib.win32-cpython-38\fastkde
  copying fastkde\__init__.py -> build\lib.win32-cpython-38\fastkde
  copying fastkde\fastKDE.py -> build\lib.win32-cpython-38\fastkde
  copying fastkde\empiricalCharacteristicFunction.py -> build\lib.win32-cpython-38\fastkde
  copying fastkde\plot.py -> build\lib.win32-cpython-38\fastkde
  copying fastkde\version.py -> build\lib.win32-cpython-38\fastkde
  running build_ext
  Compiling fastkde/floodFillSearch.pyx because it changed.
  [1/1] Cythonizing fastkde/floodFillSearch.pyx
  building 'fastkde.floodFillSearch' extension
  creating build\temp.win32-cpython-38
  creating build\temp.win32-cpython-38\Release
  creating build\temp.win32-cpython-38\Release\fastkde
  "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\bin\HostX86\x86\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\numpy\core\include -Id:\a\_temp\_venv\include -IC:\hostedtoolcache\windows\Python\3.8.10\x86\include -IC:\hostedtoolcache\windows\Python\3.8.10\x86\Include "-IC:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\ATLMFC\include" "-IC:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcfastkde/floodFillSearch.c /Fobuild\temp.win32-cpython-38\Release\fastkde/floodFillSearch.obj
  floodFillSearch.c
  C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
  fastkde/floodFillSearch.c(1506): warning C4005: '__pyx_nonatomic_int_type': macro redefinition
  fastkde/floodFillSearch.c(1457): note: see previous definition of '__pyx_nonatomic_int_type'
  fastkde/floodFillSearch.c(20294): warning C4244: 'function': conversion from '__pyx_t_5numpy_int64_t' to 'Py_ssize_t', possible loss of data
  "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\bin\HostX86\x86\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:d:\a\_temp\_venv\libs /LIBPATH:C:\hostedtoolcache\windows\Python\3.8.10\x86\libs /LIBPATH:C:\hostedtoolcache\windows\Python\3.8.10\x86 /LIBPATH:d:\a\_temp\_venv\PCbuild\win32 "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\ATLMFC\lib\x86" "/LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.35.32215\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22621.0\\um\x86" /EXPORT:PyInit_floodFillSearch build\temp.win32-cpython-38\Release\fastkde/floodFillSearch.obj /OUT:build\lib.win32-cpython-38\fastkde\floodFillSearch.cp38-win32.pyd /IMPLIB:build\temp.win32-cpython-38\Release\fastkde\floodFillSearch.cp38-win32.lib
     Creating library build\temp.win32-cpython-38\Release\fastkde\floodFillSearch.cp38-win32.lib and object build\temp.win32-cpython-38\Release\fastkde\floodFillSearch.cp38-win32.exp
  Generating code
  Finished generating code
  C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\dist.py:745: SetuptoolsDeprecationWarning: Invalid dash-separated options
  !!

          ********************************************************************************
          Usage of dash-separated 'description-file' will not be supported in future
          versions. Please use the underscore name 'description_file' instead.

          By 2023-Sep-26, you need to update your project and remove deprecated calls
          or your builds will no longer be supported.

          See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
          ********************************************************************************

  !!
    opt = self.warn_dash_deprecation(opt, section)
  C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\Cython\Compiler\Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: C:\Users\runneradmin\AppData\Local\Temp\pip-install-el084xlh\fastkde_2b864b1912344941bf5112bd7f08f036\fastkde\floodFillSearch.pyx
    tree = Parsing.p_module(s, pxd, full_module_name)
  C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\Cython\Compiler\Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: C:\Users\runneradmin\AppData\Local\Temp\pip-install-el084xlh\fastkde_2b864b1912344941bf5112bd7f08f036\fastkde\nufft.pyx
    tree = Parsing.p_module(s, pxd, full_module_name)

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          tau = 0.5993
          nspread = 10
      else:
          tau = 1.5629
          nspread = 28
      nspreadhalf = nspread/2
                           ^
  ------------------------------------------------------------

  fastkde\nufft.pyx:161:25: Cannot assign type 'double' to 'long'
  Compiling fastkde/nufft.pyx because it changed.
  [1/1] Cythonizing fastkde/nufft.pyx
  Traceback (most recent call last):
    File "d:\a\_temp\_venv\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "d:\a\_temp\_venv\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "d:\a\_temp\_venv\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\build_meta.py", line 416, in build_wheel
      return self._build_with_temp_dir(['bdist_wheel'], '.whl',
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\build_meta.py", line 401, in _build_with_temp_dir
      self.run_setup()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in run_setup
      exec(code, locals())
    File "<string>", line 47, in <module>
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\__init__.py", line 107, in setup
      return distutils.core.setup(**attrs)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
      super().run_command(command)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\wheel\bdist_wheel.py", line 346, in run
      self.run_command("build")
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
      super().run_command(command)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
      self.run_command(cmd_name)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
  Building wheel for pytest-pycodestyle (setup.py): started
      self.distribution.run_command(command)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\dist.py", line 1234, in run_command
      super().run_command(command)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
      cmd_obj.run()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 345, in run
      self.build_extensions()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 467, in build_extensions
      self._build_extensions_serial()
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 493, in _build_extensions_serial
      self.build_extension(ext)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\Cython\Distutils\build_ext.py", line 122, in build_extension
      new_ext = cythonize(
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1134, in cythonize
      cythonize_one(*args)
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-build-env-6r53t1l_\overlay\Lib\site-packages\Cython\Build\Dependencies.py", line 1301, in cythonize_one
      raise CompileError(None, pyx_file)
  Cython.Compiler.Errors.CompileError: fastkde/nufft.pyx
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fastkde

[0] https://cython.readthedocs.io/en/latest/src/userguide/migrating_to_cy30.html