Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

failure to build sdist with cython 3+ #24

Closed
jvesely opened this issue Jul 25, 2023 · 0 comments · Fixed by #25
Closed

failure to build sdist with cython 3+ #24

jvesely opened this issue Jul 25, 2023 · 0 comments · Fixed by #25

Comments

@jvesely
Copy link
Contributor

jvesely commented Jul 25, 2023

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

jvesely added a commit to jvesely/fastkde that referenced this issue Jul 26, 2023
cython>=3 changes default language level, so stick with level=2

Closes: LBL-EESA#24
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant