bin/147175: libhx509.so containes references to MD2_* but doesn't
reference libcrypto.so, which has them
Andrew Reilly
areilly at bigpond.net.au
Sat May 29 06:30:08 UTC 2010
>Number: 147175
>Category: bin
>Synopsis: libhx509.so containes references to MD2_* but doesn't reference libcrypto.so, which has them
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat May 29 06:30:07 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Andrew Reilly
>Release: FreeBSD 9.0-CURRENT amd64
>Organization:
>Environment:
System: FreeBSD duncan.reilly.home 9.0-CURRENT FreeBSD 9.0-CURRENT #6: Sat May 22 10:57:32 EST 2010 root at duncan.reilly.home:/nb/obj/nb/src/sys/DUNCAN amd64
>Description:
When trying to build evolution-data-server (for example:
fetchmail also has this problem), or anything that
depends on libhx509.so, the build stops thusly:
/usr/lib/libhx509.so: undefined reference to `MD2_Init'
/usr/lib/libhx509.so: undefined reference to `MD2_Final'
/usr/lib/libhx509.so: undefined reference to `MD2_Update'
because libhx509.so does have undefined references to
those functions. Previously, I've worked around this by
nuking reference to MD2 from libhx509, on the grounds
that it is obsolete anyway. However I have noticed that
libcrypto does provide these functions, and the library
config line from krb5-config includes it. So why are
they not being picked up? I don't know much about
shared libraries, but I ran ldd on /usr/lib/libhx509.so,
and it says only:
libhx509.so:
libc.so.7 => /lib/libc.so.7 (0x800648000)
could it be that the shared lib version of libhx509.so
needs to refer to /lib/libcrypto.so.6 explicitly, even
though it is listed on the compiler command line like
this?
cc -o conftest -O2 -pipe -g -DLDAP_DEPRECATED -fno-strict-aliasing -I/usr/local/include -I/usr/local/include/db41 -L/usr/local/lib -pthread conftest.c -L/usr/local/lib -L/usr/lib -lgssapi -lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lroken -lcrypt
>How-To-Repeat:
Compile databases/evolution-data-server with
"NO_KERBEROS" defined in make.conf and line 16071 of
ports/databases/work/evolution-data-server-2.30.1/config
changed thusly:
heimlibs="`/usr/bin/krb5-config gssapi --libs`"
and the next few lines changed thusly (I haven't figured
out which is the "right" one):
mitlibs="$heimlibs"
sunlibs="$heimlibs"
Plenty of other builds that depend on gssapi fail the
same way, though. Fetchmail is the example I used in
PR: ports/145769.
>Fix:
Working on it. Trying to figure out how to add
dependencies to shared libraries...
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list