[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#5604) sbin executable names not recognised on Win32
Full_Name: Ben Schmidt
Version: 2.4.10
OS: MinGW32, Mac OS X
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (124.168.9.190)
I have recently cross-compiled OpenLDAP for MinGW32 on Mac OS X. In so doing, I
discovered the following platform-specific issue.
The executables on Win32 have a .exe extension, so slapd does not detect the
tool names and act accordingly. Consequently, slapadd, slaptest, etc. all act
the same as slapd!
I solved the problem by patching main.c as follows:
diff -ru --exclude=Makefile openldap-2.4.10/servers/slapd/main.c
openldap/servers/slapd/main.c
--- openldap-2.4.10/servers/slapd/main.c 2008-05-20 10:10:40.000000000 +1000
+++ openldap/servers/slapd/main.c 2008-06-28 21:56:09.000000000 +1000
@@ -71,14 +71,14 @@
char *name;
MainFunc *func;
} tools[] = {
- {"slapadd", slapadd},
- {"slapcat", slapcat},
- {"slapdn", slapdn},
- {"slapindex", slapindex},
- {"slappasswd", slappasswd},
- {"slaptest", slaptest},
- {"slapauth", slapauth},
- {"slapacl", slapacl},
+ {"slapadd.exe", slapadd},
+ {"slapcat.exe", slapcat},
+ {"slapdn.exe", slapdn},
+ {"slapindex.exe", slapindex},
+ {"slappasswd.exe", slappasswd},
+ {"slaptest.exe", slaptest},
+ {"slapauth.exe", slapauth},
+ {"slapacl.exe", slapacl},
/* NOTE: new tools must be added in chronological order,
* not in alphabetical order, because for backwards
* compatibility name[4] is used to identify the
Obviously this exact fix is not appropriate, because it will break every other
platform, but I am not sure of the appropriate preprocessor directive to use to
address this, as I guess it would also break a cygwin build, and should only be
done for a MinGW32 build. However, it would be helpful to fix with an
appropriate conditional!
I couldn't find a mention of this in your tracker so reporting it now.