et_list & com-err vs imapd v2.2.12 on OSX 10.4.1

OpenMacNews OpenMacNews at speakeasy.net
Mon May 23 23:00:38 EDT 2005


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




More information about the Info-cyrus mailing list