Make errors with Cyrus::IMAP

Ralph Roessner roessner at
Mon Jan 24 14:33:34 EST 2005


On Mon, Jan 24, 2005 at 09:37:06AM -0800,
  H. Scott Brown wrote:
> Hello, List,
> OK, I tried the recommended procedure, i.e. make LD_OPTIONS=-lrt, and no
> longer get a linking error with fdatasync, BUT (arghhh...)...

Looks like you are missing other libs as well, and this time it really is

> So, per request, here is the requested ldd output:

Ok, so I was barking up the wrong tree, and you LD_LIBRARY_PATH is not the
source of your problem. Still, the ldd output tells us that you
is neither linked to BDB nor to SASL.

> I have no idea what is going on in here, the only thing I can see is that it
> searches /lib before /usr/lib in the first case, and /usr/lib first in the
> second case, but never seems to make it to both in either case? i.e. if it
> doesn't find it in the first search path, it never searches anywhere else,
> just gives up? I dunn o, just guessing at this point.

Right. The first hit terminates the search. For our Solaris 8 machines, /lib
is a symlink to /usr/lib, and I suspect it's the same for Sol 9. So it does
not matter which path follows. I was hoping to see whether your
LD_LIBRARY_PATH somehow corrupts the search for BDB/SASL. As those are
not linked at all, I don't see anything.

> It may be worth noting as well that when I first built the entire package,
> issued the following:
> ./configure --with-auth=unix --with-sasl=/usr/local/lib/sasl2
> --with-dbdir=/usr/local/BerkeleyDB.4.2 --without-openssl
> I don't need openssl support at this time, and possibly I need to point this
> build to the location of Berkeley, as in configure? Note that the server is
> up and running (at least it appears as though) fine, I can send and receive
> mail to the default domain, but I cannot create mailboxes for virtual
> domains.

You have a point there. I examined Makefile.PL and noticed that linking
instructions for SASL/BDB/... are taken from the environment. Set up your
environment like this (note the line continuations):

SASL_LIB='-L/usr/local/lib/sasl2 -R/usr/local/lib/sasl2 -lsasl2' \
BDB_LIB='-L/usr/local/BerkeleyDB.4.2 -R/usr/local/BerkeleyDB.4.2 -ldb-4.2' \
LIB_RT='-lrt' \
perl Makefile.PL

You won't need LD_OPTIONS with this approach. Make and call ldd (without the
-s) on the, and it should list librt, libsasl2, libdb-4.2 . If it
does then you should have no more linking problems.

> Thank you so much for your help.

You're welcome,

   Ralph Rößner

   Ralph Rößner                                      TU Darmstadt
   EMail: roessner at    FB Informatik
Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list