In preparation of Cyrus IMAP 2.5: autoconf and automake
dilyan.palauzov at aegee.org
Sun Apr 29 05:15:04 EDT 2012
> To this end, we encourage you to clone the GIT repository master branch
> and attempt a build, or, alternatively, download the following snapshot
> The canonical build process we think applies, generally speaking, is:
> $ autoreconf -v
The idea at the end is to create the tarballs with "make dist", which
includes Makefile.in, config.h.in and configure, so that "autoreconf"
does not have to be run by the ones downloading the tarball (and it does
not matter, if git manages those files).
Apart from including the hand-written files, and the files listed by
automake --help, some more generated files are going to be included by
"make dist", but I am not sure yet which files exactly.
> lib/auth_krb5.c fails to build, because autofoo does absolutely nothing to find krb5.h:
> "lib/auth_krb5.c", line 60: cannot find include file: <krb5.h>
I guess this has not working also in cyrus-imapd-2.4 .
> Undefined first referenced
> symbol in file
> krb5_free_principal lib/libcyrus.a(auth_krb5.o)
> krb5_realm_compare lib/libcyrus.a(auth_krb5.o)
> krb5_build_principal lib/libcyrus.a(auth_krb5.o)
> uuid_unparse_lower imap/libimap.a(mailbox.o)
> krb5_get_default_realm lib/libcyrus.a(auth_krb5.o)
> krb5_parse_name lib/libcyrus.a(auth_krb5.o)
> krb5_init_context lib/libcyrus.a(auth_krb5.o)
> krb5_free_context lib/libcyrus.a(auth_krb5.o)
> krb5_unparse_name lib/libcyrus.a(auth_krb5.o)
> So not only is autofoo not bothering to find the header file, it isn't adding the krb5 libs, either! How on earth does this link for anyone?! Manually adding LIBS='-lkrb5' to configure fixes all but the uuid problem.
The problem with -lkrb5 might disappear if you upgrade automake. On my
system, automake adds -lkrb5 to LIBS and uses $LIBS when linking (if
libkrb5 is found during configure). Which file exactly can't you link?
> "imap/append.c", line 431: syntax error before or at: 1
> using "sun" as a variable isn't the best choice of variable names
> Adding '-Xc' to the sun studio compiler to keep it from polluting the namespace would fix that, but would also undefine __FUNCTION__ causing the build to fail on the snmp bits. So I renamed all instances of "sun" to "mysun" in imap/append.c and imap/idlemsg.c.
I have renamed "sun" to "mysun" in imap/(append,idlemsg).c and uploaded
More information about the Cyrus-devel