Reputation: 2644
I am trying to install krb5 package in python using pip. However, i am getting errors which i do not comprehend at all. I tried installing the usual things like libkrb5-dev, but it did not help. I am using Python 3.6.9 on Ubuntu:
~# pip3 install python-krb5
Collecting python-krb5
Using cached python-krb5-0.2.tar.gz (14 kB)
Building wheels for collected packages: python-krb5
Building wheel for python-krb5 (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9y2_z4wf/python-krb5/setup.py'"'"'; __file__='"'"'/tmp/pip-install-9y2_z4wf/python-krb5/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-m6es_1m1
cwd: /tmp/pip-install-9y2_z4wf/python-krb5/
Complete output (136 lines):
running bdist_wheel
running build
running build_ext
building 'krb5' extension
creating build
creating build/temp.linux-x86_64-3.6
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -c python-krb5.c -o build/temp.linux-x86_64-3.6/python-krb5.o
python-krb5.c: In function ‘get_default_realm’:
python-krb5.c:71:12: warning: implicit declaration of function ‘PyString_FromString’; did you mean ‘PyLong_FromString’? [-Wimplicit-function-declaration]
pyrealm = PyString_FromString(realm);
^~~~~~~~~~~~~~~~~~~
PyLong_FromString
python-krb5.c:71:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
pyrealm = PyString_FromString(realm);
^
python-krb5.c: In function ‘get_ccache_default_name’:
python-krb5.c:85:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
name = krb5_cc_default_name(module_context);
^
python-krb5.c:86:12: warning: return makes pointer from integer without a cast [-Wint-conversion]
return PyString_FromString(name);
^~~~~~~~~~~~~~~~~~~~~~~~~
python-krb5.c: In function ‘initkrb5’:
python-krb5.c:127:3: warning: ‘return’ with no value, in function returning non-void
return;
^~~~~~
python-krb5.c:121:16: note: declared here
PyMODINIT_FUNC initkrb5(void)
^~~~~~~~
python-krb5.c:129:3: warning: ‘return’ with no value, in function returning non-void
return;
^~~~~~
python-krb5.c:121:16: note: declared here
PyMODINIT_FUNC initkrb5(void)
^~~~~~~~
python-krb5.c:131:11: warning: implicit declaration of function ‘Py_InitModule’; did you mean ‘Py_Initialize’? [-Wimplicit-function-declaration]
module = Py_InitModule("krb5", krb5_methods);
^~~~~~~~~~~~~
Py_Initialize
python-krb5.c:131:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
module = Py_InitModule("krb5", krb5_methods);
^
python-krb5.c:134:3: warning: ‘return’ with no value, in function returning non-void
return;
^~~~~~
python-krb5.c:121:16: note: declared here
PyMODINIT_FUNC initkrb5(void)
^~~~~~~~
python-krb5.c:144:3: warning: ‘return’ with no value, in function returning non-void
return;
^~~~~~
python-krb5.c:121:16: note: declared here
PyMODINIT_FUNC initkrb5(void)
^~~~~~~~
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -c principal.c -o build/temp.linux-x86_64-3.6/principal.o
principal.c: In function ‘Principal_dealloc’:
principal.c:162:8: error: ‘Principal {aka struct <anonymous>}’ has no member named ‘ob_type’; did you mean ‘ob_base’?
self->ob_type->tp_free((PyObject *)self);
^~~~~~~
ob_base
principal.c: In function ‘Principal_get_name’:
principal.c:183:12: warning: implicit declaration of function ‘PyString_FromString’; did you mean ‘PyLong_FromString’? [-Wimplicit-function-declaration]
py_name = PyString_FromString(name);
^~~~~~~~~~~~~~~~~~~
PyLong_FromString
principal.c:183:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
py_name = PyString_FromString(name);
^
principal.c: In function ‘Principal_get_ccache_name’:
principal.c:203:16: warning: implicit declaration of function ‘PyString_FromFormat’; did you mean ‘PyBytes_FromFormat’? [-Wimplicit-function-declaration]
ccache_name = PyString_FromFormat("%s:%s", type, name);
^~~~~~~~~~~~~~~~~~~
PyBytes_FromFormat
principal.c:203:14: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
ccache_name = PyString_FromFormat("%s:%s", type, name);
^
principal.c: In function ‘Principal_get_service_ticket’:
principal.c:369:11: warning: implicit declaration of function ‘krb5_get_cred_from_kdc’; did you mean ‘krb5_tkt_creds_free’? [-Wimplicit-function-declaration]
retval = krb5_get_cred_from_kdc(
^~~~~~~~~~~~~~~~~~~~~~
krb5_tkt_creds_free
principal.c: At top level:
principal.c:477:30: warning: missing braces around initializer [-Wmissing-braces]
PyTypeObject PrincipalType = {
^
principal.c:480:2: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
"krb5.Principal", /* tp_name */
^~~~~~~~~~~~~~~~
principal.c:480:2: note: (near initialization for ‘PrincipalType.tp_basicsize’)
principal.c:483:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
(destructor)Principal_dealloc, /* tp_dealloc */
^
principal.c:483:2: note: (near initialization for ‘PrincipalType.tp_print’)
In file included from /usr/include/python3.6m/pytime.h:6:0,
from /usr/include/python3.6m/Python.h:77,
from principal.c:24:
/usr/include/python3.6m/object.h:659:29: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
#define Py_TPFLAGS_DEFAULT ( \
^
principal.c:498:2: note: in expansion of macro ‘Py_TPFLAGS_DEFAULT’
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
^~~~~~~~~~~~~~~~~~
/usr/include/python3.6m/object.h:659:29: note: (near initialization for ‘PrincipalType.tp_doc’)
#define Py_TPFLAGS_DEFAULT ( \
^
principal.c:498:2: note: in expansion of macro ‘Py_TPFLAGS_DEFAULT’
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
^~~~~~~~~~~~~~~~~~
principal.c:499:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
"Kerberos Principal object.", /* __doc__ */
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
principal.c:499:2: note: (near initialization for ‘PrincipalType.tp_traverse’)
principal.c:506:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
Principal_methods, /* tp_methods */
^~~~~~~~~~~~~~~~~
principal.c:506:2: note: (near initialization for ‘PrincipalType.tp_members’)
principal.c:507:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
Principal_members, /* tp_members */
^~~~~~~~~~~~~~~~~
principal.c:507:2: note: (near initialization for ‘PrincipalType.tp_getset’)
principal.c:508:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
Principal_getsets, /* tp_getset */
^~~~~~~~~~~~~~~~~
principal.c:508:2: note: (near initialization for ‘PrincipalType.tp_base’)
principal.c:514:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
(initproc)Principal_init, /* tp_init */
^
principal.c:514:2: note: (near initialization for ‘PrincipalType.tp_alloc’)
principal.c:516:2: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
Principal_new, /* tp_new */
^~~~~~~~~~~~~
principal.c:516:2: note: (near initialization for ‘PrincipalType.tp_free’)
principal.c:477:30: warning: missing braces around initializer [-Wmissing-braces]
PyTypeObject PrincipalType = {
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for python-krb5
EDIT: I tried installing brand new version of python (3.7) and then when trying to install with python3.7 -m pip install python-krb5
i get: krb5.h: No such file or directory
Upvotes: 1
Views: 6311
Reputation: 189749
The package you are trying to build was last updated in 2009. It is simply not compatible with Python 3.
Upvotes: 2
Reputation: 145
If you have gcc isntalled, you can try
sudo apt install build-essential
Upvotes: -1