[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#8202) openldap assumes printf has %z
Full_Name: Ian Donaldson
Version: 2.4.41
OS: Solaris 9
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (60.241.85.68)
Built 2.4.41 on Solaris 9; ran 'make check' which failed to start slapd with
the following errors:
55ab70f0 config_build_entry: "olcDatabase={-1}frontend"
55ab70f0 config_build_entry: "olcDatabase={0}config"
55ab70f0 config_build_entry: "olcDatabase={1}bdb"
55ab70f0 config_build_attrs: error 21 on olcDbCacheSize value #0
55ab70f0 config_build_entry: build "zu" failed: ""
Eventually found this to be due to the assumption that %z format
works in printf; this is not the case on Solaris 9. (Solaris 10 has %z)
Found the following code that makes this assumption (there may be others):
./libraries/liblmdb/mdb_load.c
./libraries/liblmdb/mdb_dump.c
./libraries/liblmdb/mdb_stat.c
./libraries/liblmdb/mdb.c
./servers/slapd/overlays/constraint.c
./servers/slapd/config.c
My workaround was to use %l instead of %z which works for me; may not
be 100% fix though.
See http://stackoverflow.com/questions/2524611/how-to-print-size-t-variable-portably
I previously built 2.4.33 which has some %z'isms too but not in places
that cause 'make check' to fail.