Full_Name: Brian Wright Version: 2.4.44 OS: CentOS 6.8 URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (209.136.225.254) When configuring and compiling OpenLDAP using --with-threads=no flag, the test suite fails to complete. It seems the test suite appears to be dependent on threads for a successful run. Unfortunately, this test suite issue makes it difficult to know if LDAP is functioning correctly when compiled without threads. Reproduce this by using the following: ./configure --with-threads=no make depend make make test Note, all backends fail at least one test when threads are disabled. For example, if you set --enable-bdb=no --enable-hdb=no and leave only --enable-mdb=yes, mdb itself fails the test suite. The same for bdb and hdb if they are the only backends available. If you plan on retaining --with-threads=no feature, someone might want to update the test suite to properly test LDAP when threads are disabled. Or alternatively, inform the user that 'make test' doesn't support testing LDAP when threads are disabled.
moved from Incoming to Software Bugs
--On Friday, March 10, 2017 9:43 PM +0000 bwright@intacct.com wrote: > If you plan on retaining --with-threads=no feature, someone might want to > update the test suite to properly test LDAP when threads are disabled. Or > alternatively, inform the user that 'make test' doesn't support testing > LDAP when threads are disabled. Thanks for the report and great suggestion. --Quanah -- Quanah Gibson-Mount Product Architect Symas Corporation Packaged, certified, and supported LDAP solutions powered by OpenLDAP: <http://www.symas.com>
Since quite a while slapd doesn't compile at all without threads; nor do liblmdb, syncprov, etc. At this point we should probably just reject configuring slapd without threading, and maybe talk about dropping the non-thread-safe backends (shell and perl IIRC). BDB is gone for 2.5 and LMDB doesn't support a non-threaded build AFAIK.
(In reply to Ryan Tandy from comment #3) > Since quite a while slapd doesn't compile at all without threads Discussed with Howard. For 2.5: No more libldap, remove the --with-threads=XX switch to configure, remove back-perl, remove back-shell For libldap: Just stop building it (keep it in source tree). Same with back-perl, back-shell.
We should keep the ability to specify the threads library by --with-threads=<impl>, and only remove the --without-threads option. We're still going to ship some libldap.so -> libldap_r.so symlinks in order to avoid breaking everyone's Makefiles, correct?
(In reply to Ryan Tandy from comment #5) > We should keep the ability to specify the threads library by > --with-threads=<impl>, and only remove the --without-threads option. > > We're still going to ship some libldap.so -> libldap_r.so symlinks in order > to avoid breaking everyone's Makefiles, correct? Yep to both. We'll delete back-shell/back-perl from the 2.5 release tree specifically, no point in shipping them, but leave them in master for reference.
Need to check the various man pages etc about threads. For example, slapd-ldap(5) has: Note: When looping back to the same instance of slapd(8), each connection requires a new thread; as a consequence, slapd(8) must be compiled with thread support, and the threads parameter may need some tuning; in those cases, one may consider using slapd-relay(5) instead, which performs the relayed operation internally and thus reuses the same connection. slapd always will have thread support in 2.5+, so the wording needs adjustment.
(In reply to Quanah Gibson-Mount from comment #7) > Need to check the various man pages etc about threads. For example, > slapd-ldap(5) has: > > Note: When looping back to the same instance of slapd(8), each > connection requires a new thread; as a consequence, slapd(8) must > be > compiled with thread support, and the threads parameter may need > some > tuning; in those cases, one may consider using slapd-relay(5) > instead, > which performs the relayed operation internally and thus reuses > the > same connection. > > > slapd always will have thread support in 2.5+, so the wording needs > adjustment. For this particular example, just delete "slapd(8) must be compiled with thread support, and "
(In reply to Howard Chu from comment #8) > For this particular example, just delete "slapd(8) must be compiled with > thread support, and " Sure... this wasn't a question of how to change the text, but a note that we need to take a thorough look through the documentation when making this change.
• c91bbe6e by Quanah Gibson-Mount at 2020-05-14T16:30:17+00:00 ITS#8614 - slapd must be built threaded
• 83217b98 by Quanah Gibson-Mount at 2020-05-18T19:37:47+00:00 ITS#8614 - documentation updates