Yes compilation goes fine on redhat-7 with gcc. Check and make sure
that there are no "configure" errors first and are you doing a
"make depend" before issuing a make?
__
Seva

Darren Nickerson wrote:

> (had some more time to spend on this one - replying to myself)
>
> Okay, if I export BISON_SIMPLE=/usr/lib and run configure a few times, it seems
> to pickup /usr/lib/bison.simple.
>
> The next problem was with the location of com_err.h . . . in RedHat at least
> it's within a subdir  /usr/include/et/com_err.h.
>
> I took care of that with:
>
>         perl -p -i -e 's/com_err\.h/et\/com_err\.h/g' */*.c
>
> A more general solution might be useful in future releases ;-)
>
> Alas, I've reached a compile error which has me confounded:
>
> gcc -L/usr/local/lib -Wl,-rpath,/usr/local/lib  -g -O2   -o lmtpd \
>  ../master/service.o lmtpd.o lmtpengine.o lmtpstats.o \
>  libimap.a ../sieve/libsieve.a ../acap/libacap.a ../lib/libcyrus.a  -lsasl
> -ldl -lssl -lcrypto  -lfl -ldb  -lwrap -lnsl   -lcom_err
> ../sieve/libsieve.a(sieve.o): In function `sieve_parse':
> /usr/local/src/CYRUS/cyrus-imapd-2.0.7/sieve/sieve.y:408: undefined reference
> to `yyparse'
> ../sieve/libsieve.a(sieve.o): In function `verify_address':
> /usr/local/src/CYRUS/cyrus-imapd-2.0.7/sieve/sieve.y:597: undefined reference
> to `addrparse'
> ../sieve/libsieve.a(sieve-lex.o): In function `yylex':
> /usr/local/src/CYRUS/cyrus-imapd-2.0.7/sieve/sieve-lex.l:62: undefined
> reference to `yylval'
> /usr/local/src/CYRUS/cyrus-imapd-2.0.7/sieve/sieve-lex.l:110: undefined
> reference to `yylval'
> collect2: ld returned 1 exit status
> make[1]: *** [lmtpd] Error 1
> make[1]: Leaving directory `/usr/local/src/CYRUS/cyrus-imapd-2.0.7/imap'
> make: *** [all] Error 1
>
> HELP?
>
> RedHat uses a fairly bleeding-edge compiler:
>
>         [root@mail2 cyrus-imapd-2.0.7]# gcc -v
>         Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
>         gcc version 2.96 20000731 (Red Hat Linux 7.0)
>
> So I thought of trying the egcs compiler (kgcc). If I export CC=kgcc, I see:
>
> [root@mail2 cyrus-imapd-2.0.7]# ./configure
> loading cache ./config.cache
> checking host system type... i686-pc-linux-gnu
> checking for makedepend... makedepend
> checking for gcc... /usr/bin/kgcc
> checking whether the C compiler (/usr/bin/kgcc  ) works... yes
> checking whether the C compiler (/usr/bin/kgcc  ) is a cross-compiler... no
> checking whether we are using GNU C... yes
> checking whether /usr/bin/kgcc accepts -g... yes
> checking for ranlib... ranlib
> checking whether make sets ${MAKE}... yes
> checking for a BSD compatible install... /usr/bin/install -c
> checking how to run the C preprocessor... /usr/bin/kgcc -E
> checking for AIX... no
> checking for POSIXized ISC... no
> checking for mawk... mawk
> checking for working const... yes
> checking for long file names... yes
> checking for runpath switch... -Wl,-rpath,
> checking for unistd.h... yes
> checking for sys/select.h... yes
> checking for sys/param.h... yes
> checking for memmove... yes
> checking for strcasecmp... yes
> checking for ftruncate... yes
> checking for strerror... yes
> checking for dirent.h that defines DIR... yes
> checking for opendir in -ldir... no
> checking whether struct tm is in sys/time.h or time.h... time.h
> checking for tm_zone in struct tm... yes
> checking for vprintf... yes
> checking for db_create in -ldb-3... no
> checking for db_create in -ldb... no
> configure: error: this version requires Berkeley DB 3.x.
> (Get it from http://www.sleepycat.com/.)
> [root@mail2 cyrus-imapd-2.0.7]#
>
> Not sure how the compiler affects the DB3 stuff, bit it clearly does.
>
> Has anyone compiled cyrus imapd on RedHat-7?
>
> -D

Reply via email to