Closed Thermi closed 2 years ago
How are you building the wheel, at least in CI it works fine for the macOS ones that are there
When running it manually it works for me
I did it with python setup.py bdist_wheel
as described in the README but that didn't work. Only building via pip works for me here, I can reproduce it on both Arch Linux and Alpine Linux.
Building via pip build .
works, then one can install the built wheel.
Ah my apologies I need to update the README as that's old information. Using the build
module is the correct method to generate the wheel as it uses the standard PEP 517 hooks.
python -m pip install build
python -m build
that's not working for me here because I am tasked with packaging it and thus I can't install any dependencies with pip. I need to use the existing ones that are installed. If I tell build to not isolate it once again fails to get the medatada and doesn't find dependencies either:
* Getting dependencies for sdist... [74/13152]
Using krb5-config at 'krb5-config'
Using libkrb5.so as Kerberos module for platform checks
Compiling src/krb5/_ccache.pyx
Compiling src/krb5/_ccache_mit.pyx
Compiling src/krb5/_ccache_match.pyx
Compiling src/krb5/_ccache_support_switch.pyx
Compiling src/krb5/_cccol.pyx
Compiling src/krb5/_context.pyx
Compiling src/krb5/_context_mit.pyx
Compiling src/krb5/_creds.pyx
Compiling src/krb5/_creds_opt.pyx
Skipping src/krb5/_creds_opt_heimdal.pyx as it is not supported by the selected Kerberos implementation.
Compiling src/krb5/_creds_opt_mit.pyx
Compiling src/krb5/_creds_opt_set_in_ccache.pyx
Compiling src/krb5/_creds_opt_set_pac_request.pyx
Compiling src/krb5/_exceptions.pyx
Compiling src/krb5/_keyblock.pyx
Compiling src/krb5/_kt.pyx
Compiling src/krb5/_kt_mit.pyx
Skipping src/krb5/_kt_heimdal.pyx as it is not supported by the selected Kerberos implementation.
Compiling src/krb5/_kt_have_content.pyx
Compiling src/krb5/_principal.pyx
Skipping src/krb5/_principal_heimdal.pyx as it is not supported by the selected Kerberos implementation.
Compiling src/krb5/_string.pyx
Compiling src/krb5/_string_mit.pyx
Compiling src/krb5/_ccache.pyx because it changed.
Compiling src/krb5/_ccache_mit.pyx because it changed.
Compiling src/krb5/_ccache_match.pyx because it changed.
Compiling src/krb5/_ccache_support_switch.pyx because it changed.
Compiling src/krb5/_cccol.pyx because it changed.
Compiling src/krb5/_context.pyx because it changed.
Compiling src/krb5/_context_mit.pyx because it changed.
Compiling src/krb5/_creds.pyx because it changed.
Compiling src/krb5/_creds_opt.pyx because it changed.
Compiling src/krb5/_creds_opt_mit.pyx because it changed.
Compiling src/krb5/_creds_opt_set_in_ccache.pyx because it changed.
Compiling src/krb5/_creds_opt_set_pac_request.pyx because it changed.
Compiling src/krb5/_exceptions.pyx because it changed.
Compiling src/krb5/_keyblock.pyx because it changed.
Compiling src/krb5/_kt.pyx because it changed.
Compiling src/krb5/_kt_mit.pyx because it changed.
Compiling src/krb5/_kt_have_content.pyx because it changed.
Compiling src/krb5/_principal.pyx because it changed.
Compiling src/krb5/_string.pyx because it changed.
Compiling src/krb5/_string_mit.pyx because it changed.
[ 1/20] Cythonizing src/krb5/_ccache.pyx
[ 2/20] Cythonizing src/krb5/_ccache_match.pyx
[ 3/20] Cythonizing src/krb5/_ccache_mit.pyx
[ 4/20] Cythonizing src/krb5/_ccache_support_switch.pyx
[ 5/20] Cythonizing src/krb5/_cccol.pyx
[ 6/20] Cythonizing src/krb5/_context.pyx
[ 7/20] Cythonizing src/krb5/_context_mit.pyx
[ 8/20] Cythonizing src/krb5/_creds.pyx
[ 9/20] Cythonizing src/krb5/_creds_opt.pyx
[10/20] Cythonizing src/krb5/_creds_opt_mit.pyx
[11/20] Cythonizing src/krb5/_creds_opt_set_in_ccache.pyx
[12/20] Cythonizing src/krb5/_creds_opt_set_pac_request.pyx
[13/20] Cythonizing src/krb5/_exceptions.pyx
[14/20] Cythonizing src/krb5/_keyblock.pyx
[15/20] Cythonizing src/krb5/_kt.pyx
[16/20] Cythonizing src/krb5/_kt_have_content.pyx
[17/20] Cythonizing src/krb5/_kt_mit.pyx
[18/20] Cythonizing src/krb5/_principal.pyx
[19/20] Cythonizing src/krb5/_string.pyx
[20/20] Cythonizing src/krb5/_string_mit.pyx
running egg_info
creating UNKNOWN.egg-info
writing UNKNOWN.egg-info/PKG-INFO
writing dependency_links to UNKNOWN.egg-info/dependency_links.txt
writing top-level names to UNKNOWN.egg-info/top_level.txt
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest file 'UNKNOWN.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.coverage'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.pre-commit-config.yaml'
warning: no previously-included files matching '*.pyc' found under directory 'tests'
adding license file 'LICENSE'
writing manifest file 'UNKNOWN.egg-info/SOURCES.txt'
ERROR Missing dependencies:
Cython >= 0.29.29, < 3.0.0
setuptools >= 61.0.0
If you don't use build isolation then you need to install the dependencies manually. Either use build isolation and have build
install them for you automatically or disable isolation and ensure the dependencies are present yourself. The error message seems quite clear on what you need to build the wheel.
README has been updated with the new instructions https://github.com/jborean93/pykrb5/commit/a61096753da525abbe2e1f8fc696e0359643d4e4.
Yeah that much is clear. I am doing that.
Is there still a problem here, I've updated the readme to remove the old instructions and the new ones should work, as long as you have the dependencies installed.
When trying to build the wheel the following issues occur:
Also the init.py file is missing from the wheel (because it's probably not in the setup.py) and so the package can not be used because all the imports from the shared object are not available.