Solved sssd failing to build all components

Hi, I'm trying to install sssd with AD support from the ports collection on FreeBSD 10.2-p7. It seems to build fine, but when it tries to install the package, two files are missing:
Code:
root@alebbstor01:/usr/ports/security/sssd # make showconfig
===> The following configuration options are available for sssd-1.11.7_2:
  DOCS=on: Build and/or install documentation
  SMB=on: Install IPA and AD providers (requires Samba4)
===> Use 'make config' to modify these settings
root@alebbstor01:/usr/ports/security/sssd # make install
===>  Installing for sssd-1.11.7_2
===>  sssd-1.11.7_2 depends on file: /usr/local/bin/python2.7 - found
===>  sssd-1.11.7_2 depends on executable: python2 - found
===>  sssd-1.11.7_2 depends on file: /usr/local/lib/libkrb5support.so - found
===>  sssd-1.11.7_2 depends on shared library: libpopt.so - found (/usr/local/lib/libpopt.so)
===>  sssd-1.11.7_2 depends on shared library: libtalloc.so - found (/usr/local/lib/libtalloc.so)
===>  sssd-1.11.7_2 depends on shared library: libtevent.so - found (/usr/local/lib/libtevent.so)
===>  sssd-1.11.7_2 depends on shared library: libtdb.so - found (/usr/local/lib/libtdb.so)
===>  sssd-1.11.7_2 depends on shared library: libldb.so - found (/usr/local/lib/libldb.so)
===>  sssd-1.11.7_2 depends on shared library: libcares.so - found (/usr/local/lib/libcares.so)
===>  sssd-1.11.7_2 depends on shared library: libdbus-1.so - found (/usr/local/lib/libdbus-1.so)
===>  sssd-1.11.7_2 depends on shared library: libdhash.so - found (/usr/local/lib/libdhash.so)
===>  sssd-1.11.7_2 depends on shared library: libpcre.so - found (/usr/local/lib/libpcre.so)
===>  sssd-1.11.7_2 depends on shared library: libunistring.so - found (/usr/local/lib/libunistring.so)
===>  sssd-1.11.7_2 depends on shared library: libnss3.so - found (/usr/local/lib/nss/libnss3.so)
===>  sssd-1.11.7_2 depends on shared library: libsasl2.so - found (/usr/local/lib/libsasl2.so)
===>  sssd-1.11.7_2 depends on shared library: libinotify.so - found (/usr/local/lib/libinotify.so)
===>  sssd-1.11.7_2 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===>  sssd-1.11.7_2 depends on shared library: libldap-2.4.so.2 - found (/usr/local/lib/libldap-2.4.so.2)
===>  Checking if sssd already installed
===>  Registering installation for sssd-1.11.7_2
pkg-static: Unable to access file /usr/ports/security/sssd/work/stage/usr/local/lib/krb5/plugins/authdata/sssd_pac_plugin.so: No such file or directory
pkg-static: Unable to access file /usr/ports/security/sssd/work/stage/usr/local/libexec/sssd/sssd_pac: No such file or directory
*** Error code 74

Stop.
make[1]: stopped in /usr/ports/security/sssd
*** Error code 1

Stop.
make: stopped in /usr/ports/security/sssd

I think the issue may be related to having openldap-sasl-client installed rather than openldap-client, but as far as I can tell I should use openldap-sasl-client if I want to use AD authentication.

Is there anything I can do to get past this point? Sorry if I'm missing something obvious.

I currently have the following ports installed:
Code:
root@alebbstor01:/usr/ports/security/sssd # portversion -v
[Reading data from pkg(8) ... - 189 packages found - done]
atk-2.16.0  =  up-to-date with port
autoconf-2.69  =  up-to-date with port
autoconf-wrapper-20131203  =  up-to-date with port
automake-1.15_1  =  up-to-date with port
automake-wrapper-20131203  =  up-to-date with port
avahi-app-0.6.31_5  =  up-to-date with port
bash-4.3.42  =  up-to-date with port
bind910-9.10.3_1  =  up-to-date with port
binutils-2.25.1  =  up-to-date with port
bison-2.7.1,1  =  up-to-date with port
c-ares-config-1.10.0_1  =  up-to-date with port
ca_root_nss-3.20.1  =  up-to-date with port
cairo-1.14.2_1,2  =  up-to-date with port
compat6x-amd64-6.4.604000.200810_3  =  up-to-date with port
compositeproto-0.4.2  =  up-to-date with port
cscope-15.8b  =  up-to-date with port
ctags-5.8  =  up-to-date with port
cups-client-2.0.3_2  =  up-to-date with port
cyrus-sasl-2.1.26_12  =  up-to-date with port
cyrus-sasl-gssapi-2.1.26_7  =  up-to-date with port
damageproto-1.2.1  =  up-to-date with port
db5-5.3.28_2  =  up-to-date with port
dbus-1.8.20  =  up-to-date with port
dbus-glib-0.104  =  up-to-date with port
dejavu-2.35  =  up-to-date with port
dialog4ports-0.1.5_2  =  up-to-date with port
ding-libs-0.4.0_1  =  up-to-date with port
docbook-1.5  =  up-to-date with port
docbook-sgml-4.5_1  =  up-to-date with port
docbook-xml-5.0_3  =  up-to-date with port
docbook-xsl-1.76.1_2  =  up-to-date with port
dri2proto-2.8  =  up-to-date with port
encodings-1.0.4_3,1  =  up-to-date with port
expat-2.1.0_3  =  up-to-date with port
fixesproto-5.0  =  up-to-date with port
font-bh-ttf-1.0.3_3  =  up-to-date with port
font-misc-ethiopic-1.0.3_3  =  up-to-date with port
font-misc-meltho-1.0.3_3  =  up-to-date with port
font-util-1.3.1  =  up-to-date with port
fontconfig-2.11.1_1,1  =  up-to-date with port
freetype2-2.6_1  =  up-to-date with port
gamin-0.1.10_8  =  up-to-date with port
gbm-10.6.9  =  up-to-date with port
gdbm-1.11_2  =  up-to-date with port
gdk-pixbuf2-2.32.1  =  up-to-date with port
gettext-runtime-0.19.6  =  up-to-date with port
gettext-tools-0.19.6  =  up-to-date with port
glib-2.44.1_2  =  up-to-date with port
glproto-1.4.17  =  up-to-date with port
gmake-4.1_2  =  up-to-date with port
gmake-lite-4.1_1  =  up-to-date with port
gmp-5.1.3_2  =  up-to-date with port
gnome_subr-1.0  =  up-to-date with port
gnutls-3.3.17.1  =  up-to-date with port
gobject-introspection-1.44.0  =  up-to-date with port
graphite2-1.3.3  =  up-to-date with port
gtk-update-icon-cache-2.24.28  =  up-to-date with port
gtk2-2.24.28_1  =  up-to-date with port
harfbuzz-1.0.6  =  up-to-date with port
help2man-1.43.3_1  =  up-to-date with port
hicolor-icon-theme-0.15  =  up-to-date with port
icu-55.1  =  up-to-date with port
idnkit-1.0_5  =  up-to-date with port
indexinfo-0.2.4  =  up-to-date with port
inputproto-2.3.1  =  up-to-date with port
iso8879-1986_3  =  up-to-date with port
jasper-1.900.1_15  =  up-to-date with port
jbigkit-2.1_1  =  up-to-date with port
jpeg-turbo-1.4.2  =  up-to-date with port
kbproto-1.0.7  =  up-to-date with port
krb5-1.14  =  up-to-date with port
ldb-1.1.21_1  =  up-to-date with port
libEGL-10.6.9  =  up-to-date with port
libGL-10.6.9  =  up-to-date with port
libICE-1.0.9_1,1  =  up-to-date with port
libSM-1.2.2_3,1  =  up-to-date with port
libX11-1.6.3,1  =  up-to-date with port
libXau-1.0.8_3  =  up-to-date with port
libXcomposite-0.4.4_3,1  =  up-to-date with port
libXcursor-1.1.14_3  =  up-to-date with port
libXdamage-1.1.4_3  =  up-to-date with port
libXdmcp-1.1.2  =  up-to-date with port
libXext-1.3.3_1,1  =  up-to-date with port
libXfixes-5.0.1_3  =  up-to-date with port
libXft-2.3.2_1  =  up-to-date with port
libXi-1.7.5,1  =  up-to-date with port
libXinerama-1.1.3_3,1  =  up-to-date with port
libXpm-3.5.11_4  =  up-to-date with port
libXrandr-1.5.0  =  up-to-date with port
libXrender-0.9.9  =  up-to-date with port
libXt-1.1.5,1  =  up-to-date with port
libXv-1.0.10_3,1  =  up-to-date with port
libXvMC-1.0.9  =  up-to-date with port
libXxf86vm-1.1.4_1  =  up-to-date with port
libarchive-3.1.2_4,1  =  up-to-date with port
libdaemon-0.14_1  =  up-to-date with port
libdevq-0.0.2_1  =  up-to-date with port
libdrm-2.4.65_1,1  =  up-to-date with port
libedit-3.1.20150325_1  =  up-to-date with port
libevent2-2.0.22_1  =  up-to-date with port
libffi-3.2.1  =  up-to-date with port
libfontenc-1.1.3  =  up-to-date with port
libgcrypt-1.6.4_1  =  up-to-date with port
libglapi-10.6.9  =  up-to-date with port
libgpg-error-1.20_1  =  up-to-date with port
libiconv-1.14_9  =  up-to-date with port
libidn-1.31  =  up-to-date with port
libinotify-20150910  =  up-to-date with port
libpciaccess-0.13.4  =  up-to-date with port
libpthread-stubs-0.3_6  =  up-to-date with port
libsunacl-1.0  =  up-to-date with port
libtasn1-4.7  =  up-to-date with port
libtool-2.4.6  =  up-to-date with port
libunistring-0.9.6  =  up-to-date with port
libxcb-1.11.1  =  up-to-date with port
libxml2-2.9.3  =  up-to-date with port
libxshmfence-1.2  =  up-to-date with port
libxslt-1.1.28_8  =  up-to-date with port
libyaml-0.1.6_2  =  up-to-date with port
llvm36-3.6.2_2  =  up-to-date with port
lua52-5.2.4  =  up-to-date with port
lzo2-2.09  =  up-to-date with port
m4-1.4.17_1,1  =  up-to-date with port
mDNSResponder-576.30.4  =  up-to-date with port
mime-support-3.58  =  up-to-date with port
mkfontdir-1.0.7  =  up-to-date with port
mkfontscale-1.1.2  =  up-to-date with port
mpfr-3.1.2_2  =  up-to-date with port
mutt-1.5.24  =  up-to-date with port
netatalk-2.2.5_5,1  =  up-to-date with port
nettle-2.7.1  =  up-to-date with port
nspr-4.10.10_1  =  up-to-date with port
nss-3.20.1  =  up-to-date with port
nss_mdns-0.10_3  =  up-to-date with port
ntdb-1.0  =  up-to-date with port
openldap-sasl-client-2.4.42_2  =  up-to-date with port
p11-kit-0.23.1_1  =  up-to-date with port
p5-Locale-gettext-1.06  =  up-to-date with port
p5-Parse-Pidl-4.1.18_1  =  up-to-date with port
p5-Parse-Yapp-1.05_1  =  up-to-date with port
p5-XML-Parser-2.44  =  up-to-date with port
pam_mkhomedir-0.2  =  up-to-date with port
pango-1.36.8_2  =  up-to-date with port
pciids-20151108  =  up-to-date with port
pcre-8.37_4  =  up-to-date with port
perl5-5.20.3_8  =  up-to-date with port
pixman-0.32.8  =  up-to-date with port
pkg-1.6.1_2  =  up-to-date with port
pkgconf-0.9.12_1  =  up-to-date with port
png-1.6.19  =  up-to-date with port
popt-1.16_1  =  up-to-date with port
portmaster-3.17.8_1  =  up-to-date with port
portupgrade-2.4.14,2  =  up-to-date with port
py27-dnspython-1.12.0  =  up-to-date with port
py27-setuptools27-17.0  =  up-to-date with port
python-2.7_2,2  =  up-to-date with port
python2-2_3  =  up-to-date with port
python27-2.7.10_1  =  up-to-date with port
randrproto-1.5.0  =  up-to-date with port
renderproto-0.11.1  =  up-to-date with port
ruby-2.1.7,1  =  up-to-date with port
ruby21-bdb-0.6.6_4  =  up-to-date with port
samba41-4.1.18_1  =  up-to-date with port
screen-4.3.1_2  =  up-to-date with port
sdocbook-xml-1.1_1,2  =  up-to-date with port
shared-mime-info-1.4  =  up-to-date with port
smartmontools-6.4_1  =  up-to-date with port
sqlite3-3.9.2  =  up-to-date with port
talloc-2.1.3_1  =  up-to-date with port
tcl86-8.6.4  =  up-to-date with port
tdb-1.3.7_1,1  =  up-to-date with port
tevent-0.9.25  =  up-to-date with port
tiff-4.0.6  =  up-to-date with port
tmux-2.1  =  up-to-date with port
trousers-tddl-0.3.10_7  =  up-to-date with port
urlview-0.9.20131021  =  up-to-date with port
videoproto-2.3.2  =  up-to-date with port
vim-7.4.922  =  up-to-date with port
xcb-util-0.4.0_1,1  =  up-to-date with port
xcb-util-renderutil-0.3.9_1  =  up-to-date with port
xextproto-7.3.0  =  up-to-date with port
xf86vidmodeproto-2.3.1  =  up-to-date with port
xineramaproto-1.2.1  =  up-to-date with port
xmlcatmgr-2.2_2  =  up-to-date with port
xmlcharent-0.3_2  =  up-to-date with port
xorg-fonts-truetype-7.7_1  =  up-to-date with port
xproto-7.0.28  =  up-to-date with port
zfstools-0.3.6  =  up-to-date with port
zip-3.0_1  =  up-to-date with port
 
Sorry for replying to myself. I removed the openldap-sasl-client and installed the openldap24-client and got the same ultimate result (two files missing when it attempts to install sssd). I'm now completely at a loss as to how I ever managed to install sssd at all. Is there anything else I can do to try diagnosing this?
 
OK, after some more messing around, it appears that it doesn't like the installed krb5, thinking it's an unsupported version, as suggested by this output from the configure step:
Code:
checking for krb5-config... (cached) /usr/local/bin/krb5-config
checking for supported MIT krb5 version... no
configure: WARNING: Cannot build authdata plugin with this version of
  MIT Kerberos, please use 1.9.x or later

However I have krb5 1.14 installed, so it's definitely newer than the 1.9.x that sssd requires, and I still can't for the life of me understand how I managed to install it before, but it consistently fails now.
 
Gah, I found out what causes it. The configure script for sssd checks for several specific versions of Kerberos 5, and 1.14 is too new for it:
Code:
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported MIT krb5 version" >&5
$as_echo_n "checking for supported MIT krb5 version... " >&6; }
  KRB5_VERSION="`$KRB5_CONFIG --version`"
  case $KRB5_VERSION in
  Kerberos\ 5\ release\ 1.9* | \
  Kerberos\ 5\ release\ 1.10* | \
  Kerberos\ 5\ release\ 1.11* | \
  Kerberos\ 5\ release\ 1.12* | \
  Kerberos\ 5\ release\ 1.13*)
  krb5_version_ok=yes
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
  ;;
  *)
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot build authdata plugin with this version of
  MIT Kerberos, please use 1.9.x or later" >&5
$as_echo "$as_me: WARNING: Cannot build authdata plugin with this version of
  MIT Kerberos, please use 1.9.x or later" >&2;}
  esac

Installing the binary package for krb5 1.13.2 restores the ability to build/install sssd. Sorry if I wasted anyone's time with this. It's rather frustrating that it's not possible to build sssd with the latest krb5 and that the \version dependency can't be managed automatically. I'll mark this as solved, but leave it here in case it helps anyone else with the same issue.
 
Back
Top