I think the openldap ebuild should create the /var/lib/ldap directory (with a ldap:ldap owner) it looks like slapd silently dies without it and a strace is the only help one can get. the directory might be there for hardcore ldap users, but on my system that sees openldap for the first time, it was definitely missing. stat64("/var/lib/ldap/DB_CONFIG", 0x5a938d60) = -1 ENOENT (No such file or directory) open("/var/lib/ldap/DB_CONFIG", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/var/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0 stat64("/var/lib/ldap/__db.001", 0x5a938dc0) = -1 ENOENT (No such file or directory) open("/var/lib/ldap/__db.001", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = -1 ENOENT (No such file or directory) open("/var/lib/ldap/__db.001", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = -1 ENOENT (No such file or directory) open("/var/lib/ldap/__db.001", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = -1 ENOENT (No such file or directory) [..] shutdown(5, 2 /* send and receive */) = -1 ENOTSOCK (Socket operation on non-socket) close(5) = 0 shutdown(4, 2 /* send and receive */) = -1 ENOTSOCK (Socket operation on non-socket) close(4) = 0 unlink("/var/run/openldap/slapd.pid") = -1 ENOENT (No such file or directory) unlink("/var/run/openldap/slapd.args") = -1 ENOENT (No such file or directory) exit_group(1) = ? Process 31691 detached
I don't know what configuration you are using, but NO default configuration provided by our openldap uses /var/lib/ldap/. the ebuild creates the following directories that are used by the default configuration: /var/lib/openldap-{data,ldbm,slurp} /var/lib/openldap-data is where most data should be. /var/lib/openldap-ldbm is provided for some users that have not yet migrated all data. /var/lib/openldap-slurp is for the slurpd replication daemon.
you are correct. I replaced the original slapd.conf with another one without paying attention to the 'directory' option. sorry.