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.
----
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