compiling Cyrus IMAP on Mac OS X 10.4.7

James Brown jlbrown at bordo.com.au
Sat Jul 8 23:15:54 EDT 2006


I'm having problems compiling Cyrus on my Mac OS X 10.4.7 (PPC) machine.

I have installed Cyrus SASL without any errors.

For Cyrus IMAP I used:

  ./configure --with-auth=unix

I get the following output after typing 'make':

### Making all in /Users/jlbrown/Desktop/cyrus-imapd-2.3.6/man
creating sieveshell.1
pod2man ./../perl/sieve/scripts/sieveshell.pl > ./sieveshell.1
creating imapd.conf.5
./../tools/config2man ./../lib/imapoptions > ./imapd.conf.5
### Making all in /Users/jlbrown/Desktop/cyrus-imapd-2.3.6/lib
./../tools/config2header CC=gcc ./imapopts.c ./imapopts.h < ./ 
imapoptions
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
libconfig.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
imapopts.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
hash.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
mpool.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
xmalloc.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
strhash.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
xstrlcat.c
xstrlcat.c: In function 'strlcat':
xstrlcat.c:51: warning: incompatible implicit declaration of built-in  
function 'strlen'
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
xstrlcpy.c
xstrlcpy.c: In function 'strlcpy':
xstrlcpy.c:59: warning: incompatible implicit declaration of built-in  
function 'strlen'
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
assert.c
rm -f libcyrus_min.a
ar cr libcyrus_min.a libconfig.o imapopts.o hash.o mpool.o xmalloc.o  
strhash.o xstrlcat.o xstrlcpy.o assert.o
ranlib libcyrus_min.a
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
acl.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
bsearch.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
charset.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
glob.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
retry.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
util.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
libcyr_cfg.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
mkgmtime.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
prot.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
parseaddr.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
imclient.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
imparse.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
lsort.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
stristr.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
rfc822date.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
cyrusdb.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
mkchartable.c
gcc  -o mkchartable mkchartable.o xstrlcpy.o xstrlcat.o xmalloc.o  
assert.o
/usr/bin/ld: warning multiple definitions of symbol _strlcpy
xstrlcpy.o definition of _strlcpy in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib 
(strlcpy.So) definition of _strlcpy
/usr/bin/ld: warning multiple definitions of symbol _strlcat
xstrlcat.o definition of _strlcat in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib 
(strlcat.So) definition of _strlcat
### Building chartables...
rm -f chartable.c
./mkchartable \
-m ./charset/unifix.txt        \
-m ./charset/unidata2.txt \
./charset/*.t \
 > chartable.c \
|| (rm -f chartable.c && exit 1)
mkchartable: expanding unicode mappings...
mkchartable: expanding unicode mappings...
mkchartable: expanding unicode mappings...
mkchartable: building expansion table...
mkchartable: mapping unicode...
mkchartable: mapping UTF-8...
mkchartable: mapping UTF-7...
mkchartable: mapping ./charset/big5.t...
mkchartable: mapping ./charset/gb2312.t...
mkchartable: mapping ./charset/iso-2022-jp.t...
mkchartable: mapping ./charset/iso-2022-kr.t...
mkchartable: mapping ./charset/iso-8859-1.t...
mkchartable: mapping ./charset/iso-8859-15.t...
mkchartable: mapping ./charset/iso-8859-2.t...
mkchartable: mapping ./charset/iso-8859-3.t...
mkchartable: mapping ./charset/iso-8859-4.t...
mkchartable: mapping ./charset/iso-8859-5.t...
mkchartable: mapping ./charset/iso-8859-6.t...
mkchartable: mapping ./charset/iso-8859-7.t...
mkchartable: mapping ./charset/iso-8859-8.t...
mkchartable: mapping ./charset/iso-8859-9.t...
mkchartable: mapping ./charset/koi8-r.t...
mkchartable: mapping ./charset/us-ascii.t...
mkchartable: mapping ./charset/windows-1252.t...
mkchartable: mapping ./charset/windows-1256.t...
### Done building chartables.
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
chartable.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
imapurl.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
nonblock_fcntl.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
lock_fcntl.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
gmtoff_tm.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
map_shared.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
acl_afs.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
auth.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
auth_krb.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
auth_unix.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
auth_krb5.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
auth_pts.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
cyrusdb_flat.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
cyrusdb_skiplist.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
cyrusdb_quotalegacy.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
cyrusdb_berkeley.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
md5.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
iptostring.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
wildmat.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
byteorder64.c
gcc -c -I..   -I/usr/include   -DHAVE_CONFIG_H  -g -O2  \
message_uuid.c
message_uuid.c: In function 'message_uuid_from_text':
message_uuid.c:458: warning: pointer targets in initialization differ  
in signedness
rm -f libcyrus.a
ar cr libcyrus.a acl.o bsearch.o charset.o glob.o retry.o util.o  
libcyr_cfg.o mkgmtime.o prot.o parseaddr.o imclient.o imparse.o  
lsort.o stristr.o rfc822date.o cyrusdb.o strhash.o chartable.o  
imapurl.o nonblock_fcntl.o lock_fcntl.o gmtoff_tm.o map_shared.o  
acl_afs.o auth.o auth_krb.o auth_unix.o auth_krb5.o auth_pts.o  
cyrusdb_flat.o cyrusdb_skiplist.o cyrusdb_quotalegacy.o  
cyrusdb_berkeley.o md5.o iptostring.o xmalloc.o wildmat.o  
byteorder64.o message_uuid.o xstrlcat.o xstrlcpy.o
ranlib libcyrus.a
### Making all in /Users/jlbrown/Desktop/cyrus-imapd-2.3.6/sieve
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
sieve_err.c
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
sieve.c
In file included from sieve_interface.h:37,
                  from interp.h:31,
                  from sieve.y:39:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
sieve.y: In function 'verify_utf8':
sieve.y:1222: warning: pointer targets in initialization differ in  
signedness
sieve.y:1223: warning: pointer targets in initialization differ in  
signedness
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
sieve-lex.c
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
comparator.c
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
interp.c
In file included from sieve_interface.h:37,
                  from interp.c:36:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
message.c
In file included from sieve_interface.h:37,
                  from message.c:43:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
bc_generate.c
In file included from sieve_interface.h:37,
                  from bc_generate.c:33:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
bc_dump.c
In file included from sieve_interface.h:37,
                  from bc_dump.c:32:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
bc_emit.c
In file included from sieve_interface.h:37,
                  from bc_emit.c:34:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
bc_eval.c
In file included from sieve_interface.h:37,
                  from bc_eval.c:31:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
bc_eval.c: In function 'sieve_eval_bc':
bc_eval.c:1051: warning: pointer targets in passing argument 5 of  
'eval_bc_test' differ in signedness
bc_eval.c:1156: warning: pointer targets in passing argument 2 of  
'bc_makeArray' differ in signedness
bc_eval.c:1332: warning: assignment discards qualifiers from pointer  
target type
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
script.c
In file included from sieve_interface.h:37,
                  from script.c:45:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
tree.c
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
addr.c
In file included from sieve_interface.h:37,
                  from script.h:33,
                  from addr.y:34:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
addr-lex.c
rm -f libsieve.a
ar cr libsieve.a sieve_err.o sieve.o sieve-lex.o comparator.o  
interp.o message.o bc_generate.o bc_dump.o bc_emit.o bc_eval.o  
script.o tree.o addr.o addr-lex.o
ranlib libsieve.a
gcc -c -I.. -I./../lib    -I/usr/include  -DHAVE_CONFIG_H  -g -O2  \
sievec.c
In file included from sieve_interface.h:37,
                  from sievec.c:50:
sieve_err.h:19: warning: 'struct et_list' declared inside parameter list
sieve_err.h:19: warning: its scope is only this definition or  
declaration, which is probably not what you want
gcc  -o sievec sievec.o libsieve.a ../lib/libcyrus.a ../lib/ 
libcyrus_min.a  libsieve.a -lsasl2  -lgssapi_krb5 -lkrb5 -lk5crypto - 
lcom_err  -lresolv -lresolv -lssl -lcrypto   -lresolv -lfl    -ldb  - 
lcom_err
/usr/bin/ld: warning multiple definitions of symbol _strlcpy
../lib/libcyrus.a(xstrlcpy.o) definition of _strlcpy in section  
(__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib 
(strlcpy.So) definition of _strlcpy
/usr/bin/ld: warning multiple definitions of symbol _strlcat
../lib/libcyrus.a(xstrlcat.o) definition of _strlcat in section  
(__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib 
(strlcat.So) definition of _strlcat
/usr/bin/ld: Undefined symbols:
__et_list
collect2: ld returned 1 exit status
make[1]: *** [sievec] Error 1
make: *** [all] Error 1

I could find posts from people having the same problem in the  
archives of this list, but didn't find any solutions!

Does anyone have any suggestions?

Thanks,

James.


More information about the Info-cyrus mailing list