ports/121573: port 'krb5' (MIT Kerberos) generates non-working ksu

Randy Reitz rreitz at fnal.gov
Mon Mar 10 18:30:09 UTC 2008


>Number:         121573
>Category:       ports
>Synopsis:       port 'krb5' (MIT Kerberos) generates non-working ksu
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 10 18:30:03 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Randy Reitz
>Release:        7.0-RELEASE
>Organization:
Fermilab
>Environment:
FreeBSD dtmb.dhcp.fnal.gov 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008     root at logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
I needed to install the krb5 port so that the kadmin client would work with the MIT KDCs installed at Fermilab.  I found that the krb5 port ksu command generates the error...

[rreitz at dtmb ~]$ ksu
/libexec/ld-elf.so.1: /usr/lib/libkrb5.so: Undefined symbol "initialize_asn1_error_table_r"
[rreitz at dtmb ~]$ which ksu
/usr/local/bin/ksu

Once I installed the krb5 port, I had to set LD_LIBRARY_PATH=/usr/local/lib in order to get the clients (kinit, klist, etc) working.  However, since krb5 is suid root, the LD_LIBRARY_PATH environment is ignored. Looking at the ksu, I see the libkrb5.so from the default Heimdal Kerberos is being called...

[rreitz at dtmb ~]$ ldd /usr/local/bin/ksu
/usr/local/bin/ksu:
	libkrb5.so => /usr/lib/libkrb5.so (0x2808f000)
	libk5crypto.so => /usr/local/lib/libk5crypto.so (0x280c9000)
	libcom_err.so => /usr/lib/libcom_err.so (0x280ed000)
	libkrb5support.so => /usr/local/lib/libkrb5support.so (0x280ef000)
	libc.so.7 => /lib/libc.so.7 (0x280f7000)



>How-To-Repeat:
Install the krb5 port on a clean FreeBSD 7.0-RELEASE install (developer).  Run ksu.
>Fix:
- provide a way to remove the default Heimdal Kerberos, or

- Add LDFLAGS to top level makefile ...
CONFIGURE_ENV=          INSTALL="${INSTALL}" YACC=/usr/bin/yacc \
                        CFLAGS="${CFLAGS}" \
                        LDFLAGS="-rpath /usr/local/lib"   <-- add this line
and
- fix the Makefile (or Makefile.in) in /usr/ports/security/krb5/work/krb5-1.6.3/src/clients/ksu so the LDFLAGS is correct.  It's currently ...
LDFLAGS =  -rpath=/usr/lib:/usr/local/lib
I can't follow configure to understand where this line originates.

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list