#35467: openldap @2.4.31 fails to upgrade --------------------------------------+------------------------------------- Reporter: nonstop.server@… | Owner: landonf@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: openldap --------------------------------------+------------------------------------- Comment(by Peter_Dyballa@…): On a PPC Mac with just one processor I get as well the same error. I think the error is caused from these lines (with line numbers, but TABs removed by this input form) in /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_databases_openldap/openldap/work/openldap-2.4.31/libraries/libmdb/mdb.c: {{{ 211 #ifndef _WIN32 212 /** A flag for opening a file and requesting synchronous data writes. 213 * This is only used when writing a meta page. It's not strictly needed; 214 * we could just do a normal write and then immediately perform a flush. 215 * But if this flag is available it saves us an extra system call. 216 * 217 * @note If O_DSYNC is undefined but exists in /usr/include, 218 * preferably set some compiler flag to get the definition. 219 * Otherwise compile with the less efficient -DMDB_DSYNC=O_SYNC. 220 */ 221 #ifndef MDB_DSYNC 222 # define MDB_DSYNC O_DSYNC 223 #endif 224 #endif }}} On my system I did not find a C header file with a valid definition of O_DSYNC. In /usr/include/sys/aio.h I found this: {{{ 127 /* 128 * A aio_fsync() options 129 * that the calling thread is to continue execution while 130 * the lio_listio() operation is being performed, and no 131 * notification is given when the operation is complete 132 */ 133 134 #ifndef O_SYNC /* XXX investigate documentation error */ 135 #define O_SYNC 0x0080 /* queued IO is completed as if by fsync() */ 136 #endif 137 #if 0 /* O_DSYNC - NOT SUPPORTED */ 138 #define O_DSYNC 0x1 /* queued async IO is completed as if by fdatasync() */ 139 #endif }}} So it seems we need to use -DMDB_DSYNC=O_SYNC… -- Ticket URL: <https://trac.macports.org/ticket/35467#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS