Re: Cyrus 2.3.9: Errors compiling outside source directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's undoubtedly not the right way, but I patched lib/Makefile.in.

The basic problem in lib I think is twofold:

1) chartable.c being dynamically built during make, so it's
not there when the makedepend is run
2) cyrusdb_quotalegacy.c including glob.h, which has a name
collision with a similar Cyrus file.

I patched Makefile.in as below:

# diff -c Makefile.in.orig Makefile.in
*** Makefile.in.orig    Sat Sep 22 21:56:23 2007
--- Makefile.in Sat Sep 22 23:41:38 2007
***************
*** 91,97 ****
  LIBCYR_OBJS = 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_@WITH_NONBLOCK@.o 
lock_@WITH_LOCK@.o \
        gmtoff_@WITH_GMTOFF@.o map_@WITH_MAP@.o $(ACL) $(AUTH) \
        @LIBOBJS@ @CYRUSDB_OBJS@ @MD5OBJ@ \
        iptostring.o xmalloc.o wildmat.o byteorder64.o \
--- 91,97 ----
  LIBCYR_OBJS = 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 \
!       imapurl.o nonblock_@WITH_NONBLOCK@.o lock_@WITH_LOCK@.o \
        gmtoff_@WITH_GMTOFF@.o map_@WITH_MAP@.o $(ACL) $(AUTH) \
        @LIBOBJS@ @CYRUSDB_OBJS@ @MD5OBJ@ \
        iptostring.o xmalloc.o wildmat.o byteorder64.o \
***************
*** 149,154 ****
--- 149,155 ----
         > chartable.c \
         || (rm -f chartable.c && exit 1)
        @echo "### Done building chartables."
+       $(CC) -c -I${top_srcdir}/lib $(CPPFLAGS) $(CFLAGS) chartable.c
  #     ./mkchartable -m $(srcdir)/charset/unicode.map 
$(srcdir)/charset/*.t >x-chartables.h
  #     mv x-chartables.h chartables.h


Still getting an error further along though, in the sieve directory:

make[1]: Entering directory `/tmp/cyrus-imapd-2.3.9-obj/sieve'
gcc -c -I.. 
-I/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/../lib 
-I/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/et 
-I/ucd/include  -I/ucd/include -I/usr/include -I/ucd/include 
-DHAVE_CONFIG_H  -g -O \
        
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve_err.c
gcc -c -I.. 
-I/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/../lib 
-I/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/et 
-I/ucd/include  -I/ucd/include -I/usr/include -I/ucd/include 
-DHAVE_CONFIG_H  -g -O \
        
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve.c
In file included from 
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve_interface.h:37,
                 from 
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/interp.h:31,
                 from sieve.y:39:
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve_err.h:6:24: 
error: et/com_err.h: No such file or directory
In file included from 
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve_interface.h:37,
                 from 
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/interp.h:31,
                 from sieve.y:39:
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve_err.h:19: 
warning: 'struct et_list' declared inside parameter list
/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve_err.h:19: 
warning: its scope is only this definition or declaration, which is 
probably not what you want
make[1]: *** 
[/ucd/src/cyrus-imapd/cyrus-imapd-2.3.9/cyrus-imapd-2.3.9/sieve/sieve.o] 
Error 1
make[1]: Leaving directory `/tmp/cyrus-imapd-2.3.9-obj/sieve'
make: *** [all] Error 1

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

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux