[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: 2 build failures on win32

Kervin L. Pierre wrote:

The source tree would be nice :). Thanks a lot for the offer. I have the support libs down, so I don't need those. I would just need the openldap source tree. Actually, just the project files would do, but the whole source tree just in case I run into problems.

I'll send it in a private email.

That problem with the project files though. I use MSVC 6 and they open, but one thing I have to do though, before MSVC can open any '.dsp' or '.dsw' file is to convert them to dos files, ie. linebreak, carriage feed problem. I use a bash script under cygwin, the unix2dos command, and the 'find' command to do that. something like 'find ldap/ -name \*.dsp -exec my_unix2dos.sh {} \;' and the my_unix2dos.sh script simply runs the unix2dos.exe cygwin command on the dsp file, writes the output to a temp file then replaces the original with the temp.

could that have been the issue?

I'm having a sinking feeling that must've been it. Doh! I didn't even check that out. Since I use emacs for my editor when I opened them they looked fine to me.


Jens B. Jorgensen wrote:

Yeah, that's pretty much it. Actually most of the work was setting up the VC++ project files since my VC++ 6 refused to convert the existing downrev .dsp files. Actually I would be happy to send you my whole source tree modulo my custom backend (which I'm sure would be perfectly useless to you anyhow). Likewise I'd be happy to send you any particular files from the tree also. I can also send you my openssl tree if you'd like. I've got that plus cyrus-sasl-1.5.27, db-3.2.9 and hs-regex but the 3 later ones pretty much built on their own IIRC.

Again I feel bad that I can't take the time to contribute back the changes I have, especially for adding all the VC++ 6 projects since that was a pain and a couple of hours. I just can't spare the time right now.

Kervin L. Pierre wrote:

Thanks, this is great news!!

Did you have to do anything special?  Other than

1. build OpenSSL
2. define HAVE_TLS in portable.nt
3. Add OpenSSL libraries to the link dependencies of the executables that need it.

Anything else?


Jens B. Jorgensen wrote:

Kervin L. Pierre wrote:

1. back-perl build is broken due to the include of XSUB.h. patch attached.

2. Build fails in sasl.c, line 180. The build is configured without TLS, therefore the Connection structure does not have the 'c_is_tls' member. maybe this line has to be wrapped with HAVE_TLS, as the definition is in slap.h?

PS. Has anyone tried to build on win32 with TLS enabled? Is it possible?

Yup. I have a working build that we're using right now with TLS enabled (actually we only use TLS connections: '-h ldaps:///'). I did this by first building openssl in windows which works. Note that I did all this with VC++, *not* cygwin/gcc/mingw32.

As a side note, a while ago I wrote an SSL socket class which uses windows SSPI rather then openssl. Figuring out how to do this was a pain but it works reliably. It would be nice to get code into the source that would use SSPI rather than openssl. I would be happy to contribute such an effort myself but I don't have any spare time to do this.

I wouldn't mind comparing notes with others doing win32 builds. I have a working build as I mentioned with a custom backed that hits an oracle database. It works but is very slow for some reason. When I'm running it in a console window with debug output I can see that it is pausing in weird places, eg. after the incoming socket connection is established. Watching the behavior from the window I don't think the slowness is related to any external (database, ssl) performance problem but is rather due to something about how the socket handling is implemented. BTW I have a multi-threaded build.

Jens B. Jorgensen