Mark Murray wrote:
> 
> The "undefined references" are all in libmd which is listed as above
> in libcrypt's Makefile.
> 
> I would hate to have to hunt down all usages of -lcrypt to add -lmd.

As Peter already mentioned, the problem is that library dependencies
aren't recorded in archive libraries.

I ran into a similar problem for static PAM.  After some discussion
with Bruce, I held my nose and put this into bsd.libnames.mk:

    # The static PAM library doesn't know its secondary dependencies,
    # so we have to specify them explictly.
    LIBPAM?=        ${DESTDIR}${LIBDIR}/libpam.a    # XXX doesn't exist
    MINUSLPAM?=     -lpam
    .if defined(NOSHARED) && ${NOSHARED} != "no" && ${NOSHARED} != "NO"
    .ifdef MAKE_KERBEROS4
    LIBPAM+=        ${LIBKRB} ${LIBDES}
    MINUSLPAM+=     -lkrb -ldes
    .endif
    LIBPAM+=        ${LIBRADIUS} ${LIBTACPLUS} ${LIBSKEY} ${LIBCRYPT} ${LIBMD}
    MINUSLPAM+=     -lradius -ltacplus -lskey -lcrypt -lmd
    .endif

Then in utilities such a login:

    DPADD+= ${LIBPAM}
    LDADD+= ${MINUSLPAM}

This could get out of hand pretty quickly, but it may be the most
reasonable solution at this time.

John
---
  John Polstra                                               j...@polstra.com
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Self-interest is the aphrodisiac of belief."           -- James V. DeLong



To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to