[OpenAFS] Re: 1.6.2 compilation notes, Sol10

Andrew Deason adeason@sinenomine.net
Thu, 28 Mar 2013 13:26:46 -0500


On Sat, 16 Mar 2013 12:13:04 -0700
Russ Allbery <rra@stanford.edu> wrote:

> > The basic problem that you're having is that you aren't getting -lasn1
> > and -lhcrypto (at least).  During the configure run, do you see a line
> > that says "checking for --deps support in krb5-config"?  Heimdal's
> > krb5-config only outputs the full set of libraries if you call it with
> > --deps.
> 
> Ah, yes, that's the problem.  1.6.2 doesn't have the import from
> rra-c-util and therefore has a much older version of the Kerberos
> Autoconf probes that doesn't work properly with Heimdal's krb5-config.

No, krb5-config --deps doesn't exist in any release of heimdal I'm aware
of (1.5.3 didn't seem to have it). And Måns is using heimdal 1.2.1,
which certainly does not have --deps (discussed briefly offline).

I can reproduce this after fixing the afsio stuff, and the problem
appears a bit stranger. The reason we fail with undefined symbols for
aklog is because the krb5 autoconf logic fell back to 'manual' probing
for libraries. It fell back to the manual thing because it failed a
sanity check with the results of krb5-config --libs. The sanity check
with krb5-config --libs failed because:

configure:22417: /opt/SUNWspro/bin/cc -o conftest   -I/usr/heimdal/include     conftest.c -L/usr/heimdal/lib
-lkrb5 -lhx509 -lcom_err -lhcrypto -lasn1 -lwind -lroken -ldoor -lresolv -lnsl -lsocket -pthreads -lnsl -lsoc
ket  >&5
"conftest.c", line 139: warning: statement not reached
ld: fatal: soname option (-h, --soname) is incompatible with building a dynamic executable
ld: fatal: flags processing errors
configure:22417: $? = 1

Well that's a little strange. Running this manually and removing
arguments reveals that Solaris Studio doesn't like -pthreads (it
interprets it as the options -p, -h, etc, and obviously -h is not
correct). And krb5-config does indeed say -pthreads for krb5-config
--libs.

So, what is the avenue for fixing this? Should heimdal not be giving us
-pthreads for --libs? (and does it avoid that, in future versions?) Does
newer rra-c-util strip it out? Should we strip it out? Should the manual
libkrb5 probing work after the 'krb5-config --libs' sanity check fails?
(at first glance, it appears to just not add enough libraries like
-lasn1, but I haven't looked too deeply on why that's failing).

-- 
Andrew Deason
adeason@sinenomine.net