#2388 sssd build fails with libini_config 0.6.1
Closed: Fixed None Opened 9 years ago by nkondras.

When building on RHEL6.5 which has libini_config-devel v0.6.1 sssd configure completes successfully, but make fails due to missing headers and unknown ini_config symbols.

The headers and symbols in question seem to appear in libini_config v1.0.0.

Perhaps configure should fail with libini_config < v1.0.0, possibly suggesting an option of disabling functionality that requires the newer version.


This happens because the check for ini_config >= 1.1.0 in src/external/samba.m4 succeeds, because a check for ini_config >= 0.6.1 src/external/libini_config.m4 succeeded.

We should probably set some variables in src/external/libini_config.m4 specifying the available versions and check them in src/external/libini_config.m4, instead of re-checking with PKG_CHECK_MODULES.

Fields changed

owner: somebody => nkondras

I saw this problem on some distributions and it seems to be some caching bug in autotools.

libini_config has two interface and sssd can be build either with the old one (ini_config >= version 0.6.1) and the new one(ini_config >= version 1.0). The newest patches in sssd for GPO requirest the newest version of libini_config-1.1. pkg-config is used one some places for detection of ini_config

libini_config.m4:PKG_CHECK_MODULES(INI_CONFIG, [
libini_config.m4-    ini_config >= 1.0.0], [
libini_config.m4-
--
libini_config.m4:        PKG_CHECK_MODULES(INI_CONFIG, [
libini_config.m4-            ini_config >= 0.6.1], [
libini_config.m4-
--
samba.m4:    PKG_CHECK_MODULES(INI_CONFIG, ini_config >= 1.1.0, ,
samba.m4-        AC_MSG_ERROR([[Please install libini_config development libraries.
samba.m4-libini_config libraries are necessary for building ipa provider, as well

The first two detections test& define macros for old/new linini_config interfaces HAVE_LIBINI_CONFIG_V1,HAVE_LIBINI_CONFIG_V0. The last test is used only in case if sssd is built with ad provider and gpo(with samba4). The problem is that test for "ini_config >= 1.1.0" was not executed and configure script used cached value from the first detection "ini_config >= 1.0.0".

This caching problem isn't in newer version of autoconf.

Fields changed

cc: yelley => lslebodn@redhat.com, yelley

I found some more about this. From my messages to Jakub on IRC:

Repeated invocation of PKG_CHECK_MODULES with the same variable prefix is not supposed to have an effect. Our detection of separate versions of ini_config works only by a happy coincidence of 'pkg-config --cflags' outputting an empty string for it. Well, not always actually. On RHEL6.5 it outputs a single space and that's why subsequent check in samba.m4 simply assumes that 1.1.0 is present. So if we want to check for different versions of ini_config with PKG_CHECK_MODULES we should use different variable names.

Basically, PKG_CONFIG (used by PKG_CHECK_MODULES) checks if <PREFIX> (INI_CONFIG_CFLAGS/LIBS) is empty before doing the check, and if it's not, it assumes the check was done already and doesn't do anything.

Sorry if I sound a bit vague, too tired today, but taking a look at the generated configure pieces might help clear it up.

So it seems it's not newer versions of autoconf, but rather newer versions of pkg-config and incorrect use of PKG_CHECK_MODULES.

This also happens on RHEL7 as pkg-config --cflags outputs non-empty string there as well.

Fixed with 93f2954.

resolution: => fixed
status: new => closed

Fields changed

milestone: NEEDS_TRIAGE => SSSD Continuous integration

Fields changed

rhbz: => 0

Fields changed

component: SSSD => Continuous integration

Metadata Update from @nkondras:
- Issue assigned to nkondras
- Issue set to the milestone: SSSD Continuous integration

7 years ago

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/3430

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Login to comment on this ticket.

Metadata