(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