Skip Menu |
 

To: krb5-bugs@mit.edu
Subject: Building python-gssapi 'gssapi.raw.ext_cred_store' extension on SLES 15.1 stops with "gssapi/raw/ext_cred_store.c:1333:8: error: unknown type name ‘gss_key_value_set_desc’"
Date: Wed, 1 Jul 2020 12:34:01 -0000
From: "Roland Felnhofer" <roland.felnhofer@chello.at>
Download (untitled) / with headers
text/plain 1.9KiB
What went wrong?

When building python-gssapi ist stops with
"gssapi/raw/ext_cred_store.c:1333:8: error: unknown type name
‘gss_key_value_set_desc’"
How do we reproduce?

$ cd /usr/src/gssapi-1.6.5
$ python3 -mvenv buildenv
$ source buildenv/bin/activate
$ mkdir wheels
$ export PATH=$PATH:$(dirname $(locate -r "krb5-config$"))
$ pip install -U pip wheel setuptools
$ pip wheel -w wheels/ pip wheel setuptools
$ pip wheel -w wheels/ pip wheel gssapi

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

python-gssapi: 1.6.5
OS: SUSE Linux Enterprise Server 15 SP1

$ krb5-config --all
Version: Kerberos 5 release 1.16.3
Vendor: Massachusetts Institute of Technology
Prefix: /usr/lib/mit
Exec_prefix: /usr/lib/mit

Reason:
I found out that in setup.py, between line 103 and 114, tries to detect
the location of 'gssapi_ext.h', by executing 'krb5-config gssapi --prefix'
and adding 'include/gssapi/gssapi_ext.h' to that prefix.

On SLES 15.1 (and other SUSE distributions I assume) the location of the
include files for gssapi are within the regular include path
('/usr/include'). So the full path for the header file is
'/usr/include/gssapi/gssapi_ext.h' and not
'/usr/lib/mit/include/gssapi/gssapi_ext.h' as expected by 'setup.py'

For the time being krb5-config --all should report the following on SUSE:

$ krb5-config --all
Version: Kerberos 5 release 1.16.3
Vendor: Massachusetts Institute of Technology
Prefix: /usr
Exec_prefix: /usr/lib/mit

as ./bin, ./sbin and ./share (which is actually an empty directory) are
located beneath /usr/lib/mit.

Ideally the output of krb5-config should look the following way in future:

$ krb5-config --all
Version: Kerberos 5 release 1.16.3
Vendor: Massachusetts Institute of Technology
Prefix: /usr
Exec_prefix: /usr/lib/mit
Includedir: /usr/include
Libdir: /usr/lib

Looking into the krb5-config script shows the following values:
...
prefix=/usr/lib/mit
exec_prefix=${prefix}
includedir=/usr/include
libdir=/usr/lib
...

Best regards
Roland
Subject: Additional krb5-config display options
See https://github.com/pythongssapi/python-gssapi/issues/212

From our perspective, this is a feature request for more krb5-config display options.
 
To: rt-comment@krbdev.mit.edu
From: "Roland Felnhofer" <roland.felnhofer@chello.at>
Subject: Re: [krbdev.mit.edu #8924] Building python-gssapi 'gssapi.raw.ext_cred_store' extension on SLES 15.1 stops with "gssapi/raw/ext_cred_store.c:1333:8: error: unknown type name ‘gss_key_value_set_desc’"
Date: Thu, 27 Aug 2020 10:25:55 +0200
After opening a case at SUSE with case number: 00203388 I received an
official bug number: 1174079 and a Program Temporary Fixe (PTF) which
worked!
It fixes the issue that the response of "krb5-config --all" reports the
wrong prefix.
Now it reports correctly.
BEFORE:

$ krb5-config --all
Version: Kerberos 5 release 1.16.3
Vendor: Massachusetts Institute of Technology
Prefix: /usr/lib/mit
Exec_prefix: /usr/lib/mit


NOW:

$ krb5-config --all
Version: Kerberos 5 release 1.16.3
Vendor: Massachusetts Institute of Technology
Prefix: /usr
Exec_prefix: /usr/lib/mit


Best regards
Roland