pythongssapi / python-gssapi

A Python interface to RFC 2743/2744 (plus common extensions)
ISC License
103 stars 45 forks source link

Error building wheel #317

Open mfrancisbeehive opened 1 year ago

mfrancisbeehive commented 1 year ago

What went wrong?

Pip was trying to build the project using wheel and errored with this output:

Collecting gssapi
  Using cached gssapi-1.8.2.tar.gz (94 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /home/mason/BeehiveAPIBackend/venv/bin/python3 /tmp/tmp5g4xky0b get_requires_for_build_wheel /tmp/tmpmot9xp07
       cwd: /tmp/pip-install-l5by33hj/gssapi
  Complete output (21 lines):
  /bin/sh: 1: krb5-config: not found
  Traceback (most recent call last):
    File "/tmp/tmp5g4xky0b", line 280, in <module>
      main()
    File "/tmp/tmp5g4xky0b", line 263, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/tmp/tmp5g4xky0b", line 114, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-7dhst_op/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "/tmp/pip-build-env-7dhst_op/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-7dhst_op/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in run_setup
      exec(code, locals())
    File "<string>", line 109, in <module>
    File "<string>", line 22, in get_output
    File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
      return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    File "/usr/lib/python3.8/subprocess.py", line 516, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command 'krb5-config --libs gssapi' returned non-zero exit status 127.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /home/mason/BeehiveAPIBackend/venv/bin/python3 /tmp/tmp5g4xky0b get_requires_for_build_wheel /tmp/tmpmot9xp07 Check the logs for full command output.

How do we reproduce?

(Remember to use fenced code blocks and consider placing in a gist if large)

Set up a python venv

Install the following requirements from requirements.txt (I haven't been able to determine which one python-gssapi is a dependency of):

connexion >= 2.6.0
connexion[swagger-ui] >= 2.6.0
python_dateutil == 2.6.0
setuptools >= 21.0.0
swagger-ui-bundle >= 0.0.2
mysql-connector-python>=8.0.32
arcgis>=2.0.0

Component versions (python-gssapi, Kerberos, OS / distro, etc.)

(Please include MIT/Heimdal/etc. and how you installed python-gssapi)

Installed via pip 20.0.2 from a requirements.txt file containing the contents mentioned above. Using Ubuntu 20.04.5 LTS. Attempting to install python-gssapi 1.8.2. I know my cached version isn't corrupted because this happened on the first try after pip downloaded the package.

jborean93 commented 1 year ago

The error states that krb5-config --libs gssapi is failing with an exit status of 127. What happens when you run that manually. Have you got it installed at all because `127 usually means the command is not present.

mfrancisbeehive commented 1 year ago

That would do it. I didn't have it installed. I suppose I would appeciate if there was some sort of build message saying pretty much what you told me. I'm not sure if that's even possible, but it's a thought.

jborean93 commented 1 year ago

It would definitely be nice but it's not an easy task. The current setup.py is pretty complex and has to deal with multiple platforms. Some need krb5-config to be present whereas others may not. It certainly is possible and I agree would be nice to have but it's not something I have time to do currently. I'll keep the issue open though as hopefully I can get to it eventually.