Dovecot Jami
2008-Jan-17 09:45 UTC
[Dovecot] Need help to install dovecot on solaris 10 with openldap libs
Hi, I install dovecot with ldap support at Solaris 10 (x86). I know that solaris LDAP is broken and so I install openldap. OpenLDAP shared libraries are at /usr/local/lib and /usr/local/include. While installing dovecot, I did the followings: I execute this before run "./configure --with-ldap" LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib -R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib -R/usr/local/lib" but dovecot is using the Solaris default LDAP lib files. I also run LDFLAGS="-R/usr/local/lib" and LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib /usr/local/lib/libldap-2.3.so.0 " But dovecot is still using solaris ldap libs. ldd /usr/local/libexec/dovecot/dovecot-auth libcrypt_i.so.1 => /usr/lib/libcrypt_i.so.1 libpam.so.1 => /lib/libpam.so.1 libldap.so.5 => /usr/lib/libldap.so.5 libsocket.so.1 => /lib/libsocket.so.1 libnsl.so.1 => /lib/libnsl.so.1 librt.so.1 => /lib/librt.so.1 libsendfile.so.1 => /lib/libsendfile.so.1 libc.so.1 => /lib/libc.so.1 libgen.so.1 => /lib/libgen.so.1 libcmd.so.1 => /lib/libcmd.so.1 libsasl.so.1 => /usr/lib/libsasl.so.1 libmd5.so.1 => /lib/libmd5.so.1 libnspr4.so => /usr/lib/mps/libnspr4.so libplc4.so => /usr/lib/mps/libplc4.so libnss3.so => /usr/lib/mps/libnss3.so libssl3.so => /usr/lib/mps/libssl3.so libmp.so.2 => /lib/libmp.so.2 libscf.so.1 => /lib/libscf.so.1 libaio.so.1 => /lib/libaio.so.1 libpthread.so.1 => /lib/libpthread.so.1 libthread.so.1 => /lib/libthread.so.1 libdl.so.1 => /lib/libdl.so.1 libsoftokn3.so => /usr/lib/mps/libsoftokn3.so libplds4.so => /usr/lib/mps/libplds4.so libdoor.so.1 => /lib/libdoor.so.1 libuutil.so.1 => /lib/libuutil.so.1 libbsm.so.1 => /lib/libbsm.so.1 libsecdb.so.1 => /lib/libsecdb.so.1 libtsol.so.2 => /lib/libtsol.so.2 libm.so.2 => /lib/libm.so.2 Please help me to solve this problem. Mahmud Jami --------------------------------- Looking for last minute shopping deals? Find them fast with Yahoo! Search.
Bill Cole
2008-Jan-17 15:30 UTC
[Dovecot] Need help to install dovecot on solaris 10 with openldap libs
WARNING: The following advice has not been specifically tested, because I do not actually run Dovecot on Solaris. It is based on my experience with building other open source software on Solaris. At 1:45 AM -0800 1/17/08, Dovecot Jami wrote:>Hi, > > I install dovecot with ldap support at Solaris 10 (x86). I know >that solaris LDAP is broken and so I install openldap. OpenLDAP >shared libraries are at /usr/local/lib and /usr/local/include. While >installing dovecot, I did the followings: > > I execute this before run "./configure --with-ldap" > > LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib >-R/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib -R/usr/local/lib"Why are you including the Berkeley directories?> but dovecot is using the Solaris default LDAP lib files. > > I also run > > LDFLAGS="-R/usr/local/lib" > and > > LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib -L/usr/local/lib >/usr/local/lib/libldap-2.3.so.0 " > > But dovecot is still using solaris ldap libs.The configure script probably did not see the LDFLAGS variable because it was not in the configure command line and were not exported. Also, it is not clear from your message whether you did everything necessary to remove your earlier build of Dovecot. That should include: make distclean This removes all of the linked binaries, intermediate compiled objects, makefiles, and build configuration files in your Dovecot source directory that may have been created by previous attempts to configure and build the software. You need this to be absolutely sure that anything made using the previous build config is gone. CPPFLAGS=-I/usr/local/include \ LDFLAGS='-L/usr/local/lib -R/usr/local/lib' \ ./configure --with-ldap NOTE THE TRAILING BACKSLASHES ON THE FIRST TWO LINES. You can either use those to escape the linebreaks from the shell or you can enter all three of the lines shown in one unbroken line. It should also work to set the flag variables and export them, but that could result in unwanted side-effects later. Setting the variables ahead of ./configure makes the shell pass them in the environment, and configure also supports doing the assignments as arguments to the script itself. If configure is seeing OpenLDAP, its output will include these lines: checking for ldap_init in -lldap... yes checking ldap.h usability... yes checking ldap.h presence... yes checking for ldap.h... yes checking for ldap_initialize in -lldap... yes checking for ldap_start_tls_s in -lldap... yes NOTE: That is not conclusive proof that you ARE looking at OpenLDAP, but if those are not all 'yes' then you definitely are NOT. make That will do the build, leaving the various Dovecot binaries in subdirectories of src (e.g. src/suth/dovecot-auth) Those can be examined with ldd. If all is well, you can install with: make install That will install the binaries where they need to be. -- Bill Cole bill at scconsult.com