Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jul 2010 22:59:13 +1000
From:      Andrew Reilly <areilly@bigpond.net.au>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        Matthias Andree <matthias.andree@gmx.de>, freebsd-current@freebsd.org
Subject:   Re: Regression in GSSAPI/libxh509 linking? [PR bin/147175]
Message-ID:  <E1548EA8-08CB-417C-866B-35D6F859FDB9@bigpond.net.au>
In-Reply-To: <20100706085435.GC13238@deviant.kiev.zoral.com.ua>
References:  <op.vfexgepa1e62zd@merlin.emma.line.org> <20100706085435.GC13238@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Kostik,

On 06/07/2010, at 18:54 , Kostik Belousov wrote:

> You need to gather and show exact command that fails.

There's some a little more info in PR: ports/145769, although the "fix" =
that I suggest there is almost certainly a wrong turn (I nuked all =
reference to MD2_* from libhx509, there).  I can't easily recreate the =
problem, now that I've patched my copy of =
/usr/src/kerberos5/lib/libhx509/Makefile, but the fault seems to be =
fairly consistent in the configure script of any port configured to use =
GSSAPI, such as fetchmail or evolution-data-server.  =46rom memory, the =
failing program is a one-line main() that calls MD2_Init(), and attempts =
to link it with a command line derived from `krb5-config --lib gssapi`.

> Shared object that references a symbol but does not record a =
dependency
> on the object providing the symbol is the bug in the build of that =
object
> (usually).

That is what /usr/lib/libhx509.so.10 seems to do (see the undefined refs =
to MD2_* with nm /usr/lib/libhx509.a, and see the lack of dependency on =
/lib/libcrypto.so.6 with ldd), and yet this hasn't been widely reported, =
I suspect, because it still seems to work in 8-STABLE.  Don't know why.

The exact command that fails, in summary, is:

get a 9-current system.
cd /usr/ports/mail/fetchmail (or =
/usr/ports/databases/evolution-data-server, but that has lots of other =
dependencies that might take a while to build)
make config # and tell it to enable GSSAPI (and NTLM) which isn't the =
default.
make
# watch the configure fail with a report of missing KRB5, but inspection =
of the configure.log will show that the real failure was a failure to =
link against the system-supplied shared libraries, specifically =
libhx509.so.

Repeat the process on an 8-STABLE system and see that the config and =
build proceeds successfully, despite the fact that libhx509.so.10 has =
undefined symbols for MD2_* just as on -current.

Please let me know if there's any other info that I can provide.

Cheers,

--=20
Andrew




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1548EA8-08CB-417C-866B-35D6F859FDB9>