[krbdev.mit.edu #8924] Building python-gssapi 'gssapi.raw.ext_cred_store' extension on SLE S 15.1 stops with "gssapi/raw/ext_cred_store. c:1333:8: error: unknown type name ‘gss_key_ value_set_desc’"

"Roland Felnhofer via RT" <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.bugs
Message-ID <[email protected]>
Wed Jul 01 10:03:03 2020: Request 8924 was acted upon.
 Transaction: Ticket created by [email protected]
       Queue: krb5
     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’" 
       Owner: Nobody
  Requestors: [email protected]
      Status: new
 Ticket <URL: https://krbdev.mit.edu/rt/Ticket/Display.html?id=8924 >


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


_______________________________________________
krb5-bugs mailing list
[email protected]
https://mailman.mit.edu/mailman/listinfo/krb5-bugs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.