[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Openldap, Berkeley, Kerberos and Sasl question.



"Quanah Gibson-Mount" <quanah@stanford.edu> wrote in message
C09B6916E0CBB20F0C412114@cadabra.stanford.edu">news:C09B6916E0CBB20F0C412114@cadabra.stanford.edu...

> Hm, what are your linker flags for the compiler pointing to? ("-L<path>").

I'm not sure.  How do I find that out?  I need a "Compiling and Linking unix
source code for dummies." :)  I sometimes have problems compiling different
programs.  I have been trying to compile cfengine forever but I can't seem
to make it work.  It fails with a similar error:
/tmp/cfengine-2.1.8/src/cfagent.c:294: undefined reference to
`OPENSSL_add_all_algorithms_noconf'.

Anyway, I digress.  Back to the point.  An invalid reference is caused when
the program can't find the library right?  After I make install cyrus-sasl,
a message says:

----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Sasl was configured like:
env CFLAGS="-I /usr/local/BerkeleyDB.4.2/include" \
LDFLAGS="-L /usr/local/BerkeleyDB.4.2/lib" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/share/man \
--enable-gssapi=/usr \
--enable-static \
--disable-anon \
--enable-cram \
--enable-digest \
--disable-otp \
--disable-plain \
--with-bdb-libdir=/usr/local/BerkeleyDB.4.2/lib \
--with-bdb-incdir=/usr/local/BerkeleyDB.4.2/include \
--without-pam \
--with-saslauthd=/var/run/saslauthd \
--with-openssl=/usr \
--with-plugindir=/usr/lib/sasl2

Come to think of it, the linker flags are the LDFLAGS right?  Mine looks
like LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib -L/usr/lib/sasl2".

Can someone point me to a best practices for compiling unix source and
keeping shared libraries?

Thanks.

Robert.