[MacPorts] #31688: bind9 @9.8.1: Undefined symbols _krb5_gss_register_acceptor_identity on tiger

MacPorts noreply at macports.org
Tue May 22 16:47:17 PDT 2012


#31688: bind9 @9.8.1: Undefined symbols _krb5_gss_register_acceptor_identity on
tiger
---------------------------------+------------------------------------------
 Reporter:  webmaster@…          |       Owner:  dluke@…           
     Type:  defect               |      Status:  assigned          
 Priority:  Normal               |   Milestone:                    
Component:  ports                |     Version:  2.0.3             
 Keywords:  tiger                |        Port:  bind9             
---------------------------------+------------------------------------------

Comment(by macports-20081001@…):

 Replying to [comment:7 webmaster@…]:
 > Replying to [comment:6 dluke@…]:
 > > Do you by any chance have some kerberos libraries installed in
 /usr/local?
 > >
 >
 >
 > Using the same command as you did I get:
 > {{{
 > 9549e018 t _krb5_gss_register_acceptor_identity
 > }}}

 The lower case 't' indicates that it is a 'local' symbol rather than a
 global one as in 10.5. Complicating matters, the relevant header
 (/usr/include/gssapi/gssapi_krb5.h) defines
 krb5_gss_register_acceptor_identity so nothing fails until link time.

 The best fix would be to replace the existing system Kerberos framework
 with a fixed version, which should be easy in theory since Apple's source
 for that is on opensource.apple.com, but in practice building from that
 source is a big headache.

 A less ideal fix is to install the kerberos5 port and make bind9 link to
 it. That fix has this downside:

 {{{
 # port -dvu rdeps kerberos5
 The following ports are dependencies of kerberos5 @1.7.2_0:
   bin:gpg:gnupg
     port:libiconv
       port:gperf
     port:gettext
       port:ncurses
       port:expat
     port:readline
     port:zlib
     port:bzip2
     port:libusb-compat
       port:pkgconfig
         path:lib/pkgconfig/glib-2.0.pc:glib2
           bin:xz:xz
           port:libffi
           path:bin/perl:perl5
             port:perl5.12
               port:gdbm
           port:python27
             port:openssl
             port:sqlite3
               port:libedit
             port:db46
             port:python_select
       port:libusb
     port:openldap
       port:tcp_wrappers
       port:cyrus-sasl2
       port:icu

 }}}

 So while it is not'' '''hard''''' per se, it drags in all sorts of garbage
 that you may not need and which take a long time to install. Also: the
 port is orphaned and uses an obsolete version of krb5, so its isn't
 actually useful as a general replacement for the even older Tiger
 implementation.

 And beyond that, with a current bind9 on Tiger one also needs to kill off
 the DLZ dlopen driver, since it won't build on 10.4. The Portfile already
 does that for 10.5.

 So here's a patch for the Portfile, but be aware of the nasty dependency
 tree:


 {{{
 --- Portfile.orig       2012-05-22 11:00:31.000000000 -0400
 +++ Portfile    2012-05-22 19:39:45.000000000 -0400
 @@ -52,6 +52,16 @@
                                 --enable-threads \
                                 --enable-ipv6

 +platform darwin 8 {
 +       # link fails with the DLZ dlopen driver
 +       configure.args-append --with-dlopen=no
 +       # require and use GSSAPI support in ${prefix}/lib rather than
 /usr/lib where Tiger has symlinks to its broken Kerberos lib
 +       depends_lib-append \
 +               port:kerberos5
 +       configure.args-append \
 +               --with-gssapi=${prefix}
 +}
 +
  platform darwin 9 {
         configure.args-append --with-dlopen=no
  }

 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/31688#comment:11>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list