hi derrick,

a bit more info/data ...

well it sure seems that com_err/et_list originate from / revolve around Kerberos.

sooooo, I decided to try take Apple's Kerberos implementation out of the picture, and build my own.

a build of MIT's krb5-1.4.1 (<http://web.mit.edu/kerberos/www/krb5-1.4/>) as:

% unsetenv CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS LDDLFLAGS LD_PREBIND EXTRA_LDFLAGS EXTRA_LIBS LC_ALL LANG LINGUAS
        % setenv CPPFLAGS "-I/usr/local/berkeley-db/include"
        % setenv LDFLAGS "-ldl -L/usr/local/berkeley-db/lib -ldb"
        
        % glibtoolize --force --copy
        % aclocal
        % autoheader
        % autoconf
        
        % ./configure \
        --prefix=/usr/local/kerberos \
        --with-tcl=/Library/Frameworks/Tcl.framework \
        --with-system-db
        % make
        % make install

is successful ...

        % cd /usr/local/kerberos/
        % ls -al bin/ lib/ include/

                bin/:
                        total 4
                        drwxr-xr-x  3 root staff 102 May 23 19:44 .
                        drwxr-xr-x  8 root staff 272 May 23 19:44 ..
                        -rwxr-xr-x  1 root staff 458 May 23 19:44 compile_et
                
                include/:
                        total 112
                        drwxr-xr-x  8 root staff   272 May 23 19:44 .
                        drwxr-xr-x  8 root staff   272 May 23 19:44 ..
                        -rw-r--r--  1 root staff  1767 May 23 19:44 com_err.h
                        drwxr-xr-x  2 root staff    68 May 23 19:44 gssapi
                        drwxr-xr-x  2 root staff    68 May 23 19:44 gssrpc
                        drwxr-xr-x  7 root staff   238 May 23 19:44 kerberosIV
                        -rw-r--r--  1 root staff 98397 May 23 19:44 krb5.h
                        -rw-r--r--  1 root staff  5979 May 23 19:44 profile.h
                
                lib/:
                        total 2772
                        drwxr-xr-x  8 root staff     272 May 23 19:44 .
                        drwxr-xr-x  8 root staff     272 May 23 19:44 ..
                        -rw-r--r--  1 root staff   29616 May 23 19:44 
libcom_err.a
                        -rw-r--r--  1 root staff   34984 May 23 19:44 
libdes425.a
                        -rw-r--r--  1 root staff  441376 May 23 19:44 
libk5crypto.a
                        -rw-r--r--  1 root staff  356944 May 23 19:44 libkrb4.a
                        -rw-r--r--  1 root staff 1940720 May 23 19:44 libkrb5.a
                        -rw-r--r--  1 root staff   21864 May 23 19:44 
libkrb5support.a




now on to cyrus-imap.

1st, after a fresh DL, we still have the 'suspect':

% grep et_list imap_err.c
        struct et_list {
                struct et_list *next;
        extern struct et_list *_et_list;
        static struct et_list link = { 0, 0 };
                        link.next = _et_list;
                        _et_list = &link;

cimpoiling with MY kerberos' compile_et:

        % /usr/local/kerberos/bin/compile_et imap_err.et
                + gawk -f /usr/local/kerberos/share/et/et_h.awk 
outfile=imap_err.h imap_err.et
                + gawk -f /usr/local/kerberos/share/et/et_c.awk 
outfile=imap_err.c imap_err.et

and checking,

        % grep et_list imap_err.c
        % (<-- still EMPTY)


hmmm .....


building:


        % cd /usr/ports/cyrus/cyrus-imapd-2.2.12

        % setenv PATH /usr/local/kerberos/bin:$PATH
        % which compile_et
                /usr/local/kerberos/bin/compile_et

        ./configure \
        ...
        (as b4)
        ...
        --with-com_err=/usr/local/kerberos


NOTE: my kerberos' libcom_err.a is ".a", NOT ".dylib", so we'll NOT mod the SIEVE/Makefile ...

subsequent:

        % make depend
        % make all

_still_ fails at:

gcc -L/usr/local/ssl/lib -L/usr/local/berkeley-db/lib -bind_at_load -ldl -L/usr/local/kerberos/lib -lcom_err -L/usr/local/berkeley-db/lib -ldb -F/Library/Frameworks -framework SASL2 -o sievec sievec.o libsieve.a ../lib/libcyrus.a ../lib/libcyrus_min.a libsieve.a -L/usr/local/cyrus-sasl/lib -lsasl2 -lfl -L/usr/local/berkeley-db/lib -ldb-4.3 -lssl -lcrypto /usr/local/kerberos/lib/libcom_err.a
        /usr/bin/ld: Undefined symbols:
        __et_list
        collect2: ld returned 1 exit status
        make[1]: *** [sievec] Error 1
        make: *** [all] Error 1

so, i'm not conviced that this is a Apple-specific issue ...

argh. next ideas?

cheers,


richard
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to