#6828 error: implicit declaration of function ‘sss_nss_getlistbycert’
Closed: fixed Opened by cheimes.

ipa-extdom-extop fails to compile because sss_nss_getlistbycert is not declared in a header file:

make[4]: Entering directory '/home/heimes/redhat/freeipa/daemons/ipa-slapi-plugins/ipa-extdom-extop'
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../..  -I. -I./../common -DPREFIX=\""/usr/local"\" -DBINDIR=\""/usr/local/bin"\" -DLIBDIR=\""/usr/local/lib"\" -DLIBEXECDIR=\""/usr/local/libexec"\" -DDATADIR=\""/usr/local/share"\" -DUSE_OPENLDAP -I/usr/include/dirsrv -I/usr/include/nspr4     -I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/nspr4  -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration  -g -O2 -Werror=implicit-function-declaration -MT ipa_extdom_common.lo -MD -MP -MF .deps/ipa_extdom_common.Tpo -c -o ipa_extdom_common.lo ipa_extdom_common.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I./../common -DPREFIX=\"/usr/local\" -DBINDIR=\"/usr/local/bin\" -DLIBDIR=\"/usr/local/lib\" -DLIBEXECDIR=\"/usr/local/libexec\" -DDATADIR=\"/usr/local/share\" -DUSE_OPENLDAP -I/usr/include/dirsrv -I/usr/include/nspr4 -I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/nspr4 -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Werror-implicit-function-declaration -g -O2 -Werror=implicit-function-declaration -MT ipa_extdom_common.lo -MD -MP -MF .deps/ipa_extdom_common.Tpo -c ipa_extdom_common.c  -fPIC -DPIC -o .libs/ipa_extdom_common.o
ipa_extdom_common.c: In function handle_cert_request:
ipa_extdom_common.c:973:11: error: implicit declaration of function sss_nss_getlistbycert [-Werror=implicit-function-declaration]
     ret = sss_nss_getlistbycert(input, &fq_names, &id_types);
           ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Makefile:804: recipe for target 'ipa_extdom_common.lo' failed

configure:

checking for SSSNSSIDMAP... yes
configure: sss_certmap not found
checking krb5/certauth_plugin.h usability... no
checking krb5/certauth_plugin.h presence... no
checking for krb5/certauth_plugin.h... no

The problem was introduced in 8960398a57f69c124ec3105289dc355baa0d5b09 / #6826.

Per disucssion on IRC:

The bug is in configure.ac. configure should check for presence of sss_nss_getlistbycert or sss_nss_idmap >= 1.15.3.

master:

  • b18ee8b9dd3b1d0cfdc45373a7a56747e1f993a3 spec file: bump libsss_nss_idmap-devel BuildRequires

ipa-4-5:

  • 127f7ce699677d8c689099eac350a54293a5009d spec file: bump libsss_nss_idmap-devel BuildRequires

Metadata Update from @tkrizek:
- Issue priority set to: 2
- Issue set to the milestone: FreeIPA 4.5.1

master:

  • 67e5244cad72bef76de1c4df47a0c77a672fa861 server: make sure we test for sss_nss_getlistbycert

ipa-4-5:

  • 8be6987da72dff0ebd4e02c946b45b5b1705d880 server: make sure we test for sss_nss_getlistbycert

Metadata Update from @tkrizek:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata Update from @tkrizek:
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1402959

Metadata Update from @jcholast:
- Issue status updated to: Open (was: Closed)

The last commit causes libsss_nss_idmap to be linked to all of our binaries and libraries.

Reopening the issue.

It looks like the issue reaches beyond just libsss_nss_idmap.

Filed a separate issue #6846, closing this issue.

Metadata Update from @jcholast:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata