After upgrading to LISTSERV 16.0, LISTSERV will not run because it expects to find version 2.3 OpenLDAP libraries, and our server has OpenLDAP 2.4 installed.


This shouldn't be a problem with LISTSERV 16.5, but we're leaving the FAQ here just in case.


Generally you will only see this error with the precompiled 'lsv' binary under Linux.  Sites that install with DBMS support will generally have to relink by default and the relinking operation will eliminate this issue.


The error is due to the fact that our 16.0 development environment is set up with LDAP 2.3, whereas it appears that many production systems (specifically CentOS 7 and Red Hat Enterprise Linux 7, but possibly other distributions as well) now ship with OpenLDAP 2.4.  This is easy to fix; simply rename 'lsv' to 'lsv-precompiled' or similar, and relink lsv.o as follows:


Linux-2.6x64:

gcc -O -o lsv lsv.o nocli.o -lldap

Linux-RH6x64:

gcc -O -o lsv lsv.o nocli.o nooci.o -lldap

Linux-S390:

gcc -O -o lsv lsv.o nouodbc.o -lldap


This will "realign" lsv with your local LDAP libraries.  You can verify this by running 'ldd lsv' from the unix command prompt.


Note:  The relinking commands above simply relink lsv without any DBMS support.  If you require DBMS support, you will need to exclude the appropriate "no*.o" file from the command when relinking.  For more information see the DBMS and Mail-Merge chapter in the Advanced Topics Manual.


Also note:  For Linux LISTSERV kits containing both nocli.o and nouodbc.o files (currently only the Linux-RH6x64 kit), it is necessary to specify only one or the other when excluding DBMS support for both DB2 and UnixODBC.  Do not specify both when relinking; doing so results in linker errors regarding multiple definitions of DBMS functions within LISTSERV.  This is because DB2 and UnixODBC share a significant amount of function namespace.  (For the same reason, it is also not possible to relink LISTSERV with both DB2 and UnixODBC support.)