Hi. ;; I learned a little bit. If I did mistake or say about incorrect ;; thing, told so please. thanks.
>>>>> In <[EMAIL PROTECTED]> >>>>> "J. W. Andersen, ICCC" <[EMAIL PROTECTED]> wrote: > To make myself a fresh start, I decided to take off with all the > latest stuff for my mailserver, so I downloaded DB.4.0.14, > SASL.2.1.1, Postfix.1.1.4 and IMAPD.2.1.2. The first 3 installed > with no problems. > With IMAPD, configure and make depend runs OK. When I get to > make all CFLAGS=-O, I ran into troubles when linking the imapd. > The errors occus in libcyrus.a(cyrusdb_db3.o), where various functions > (init, done, myopen etc) reports > undefined reference to 'db_xxxx_4000' > where xxxx is version, env_create, strerror and create. (snip) > if eval "test \"'echo '$ac_cv_lib_'............. This function is autoconf's. > but regret to say, that I am unable to figure out what it is doing - > though I have been programming assembler and C for many years, my > knowledge of Linux scripting language is very limited. If someone > has the patience to explain that statement to me, maybe I could help > out myself another time. > LIBS=" -ldb-4.0 ${LIBS}" > to force configure to take interest in DB4. It rsulted in almost the same problem at >the same spot, althoug the suffix "_4000" now no more occurred in the undefined >referenced. Now, I read about sasl one. I have understood the configure script made by "autoconf" with the m4 macros. I found that try to find the db-4.0 routine in aclocal.m4 (<- srcdir/config/sasldb.m4). ;; I write about sasl one as follow, but almost same cyrus-imapd I think. My case, the routine could not found the db-4.0 from $with_bdb_lib (--with-bdb-libdr) in AC_CHECK_LIB(). Now I know that this function is inside of "autoconf". ;; I found the reference of functions in the document attached with ;; autoconf package. for dbname in db-4.0 db4.0 db-4 ... do AC_CHECK_LIB($dbname, db_create, SASLBDB_LIB="$BDB_LIBADD -l$dbname"; dblib="berkeley"; break, dblib="no") done This function check into the "variable($dbname)" library about could found the "function(db_create)", and following commands-list-if-found, commands-list-ifno-found. I wandered why this routine could not match my db-4.0 in /usr/local/BerkeleyDB.4.0/lib/libdb-4.0.a. I tryed to find "db_create" function in my libdb-4.0.a with emacs hexl-mode, then I found a few about "db_create_4000" Then I edited aclocal.m4 at the "db_create" to "db_create_4000" and save, rm configure, run autoconf for remake the configure script. I retry to configure cyrus-sasl-2.1.1; ./configure --with-dblib=berkeley \ --with-bdb-libdir=/usr/local/BerkeleyDB.4.0/lib ... then configure script (AC_CHECK_LIB) found db-4.0. ;; but there is other problem yet.. Thanks. -- Shinichiro HIDA mailto:[EMAIL PROTECTED] GPG fingerprint = 5F2D 1656 FFF6 F691 A51C 5E61 E416 D398 470C 1CE9