LDAP C SDK SASL Windows: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 2: Line 2:


You cannot use the cygwin environment - you must use the cmd environment provided by the MS Platform SDK.
You cannot use the cygwin environment - you must use the cmd environment provided by the MS Platform SDK.
===Step 1: Download the software===
You can get the Cyrus SASL software from here - http://asg.web.cmu.edu/sasl/sasl-library.html - The rest of the instructions below are for version 2.1.22.  Unpack the software (you can just use tar xfz from a cygwin command line) to create the cyrus-sasl-2.1.22 directory.
===Step 2: Apply the patches===
The default Windows build of Cyrus SASL wants to use the sasldb, which requires Berkeley DB to be installed.  The Mozilla LDAP C SDK is a client, so does not need the sasldb stuff.  There are two patches which can be applied to make sasldb optional in the build.  Patch 1 - ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/patches/plugins_NTMakefile.patch
cd cyrus-sasl-2.1.22
patch -p0 < plugins_NTMakefile.patch
Patch 2 - ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/patches/utils_NTMakefile.patch
cd cyrus-sasl-2.1.22
patch -p0 < utils_NTMakefile.patch
===Step 3: Open a MS Platform SDK command window===
I was not able to get it to build with cygwin.  I was only able to get it to build in a command window invoked from the platform SDK, which can be found from the Start menu: Start->All Programs->Microsoft Platform SDK for Windows Server 2003 R2->Open Build Environment Window->Windows Server 2003 32-bit Build Environment->Set Win Svr 2003 32-bit Build Env (Retail)  This will open a cmd window with the proper environment set up.  NOTE that if you have a different system (XP, Vista) the menu may be slightly different (e.g. Platform SDK for Windows Vista instead of Server 2003).  Other build environments may work but this one definitely works for me.  You can also create a shortcut on your desktop.
You may need to add the following path to your INCLUDE environment variable:
set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc
if the build step below complains about missing afxres.h.  If this file/path does not exist, use the Start menu Start->Search to find this file and change INCLUDE above to use the correct path.
===Step 4: Invoke the build===
In your cmd window from Step 3, cd to your cyrus-sasl source directory and invoke nmake e.g.
cd C:\cyrus-sasl-2.1.22
nmake /f NTMakefile
If this works, then install:
nmake /f NTMakefile install
This will install the redistributable package in C:\CMU
nmake /f NTMakefile clean
will remove the built files if you need to start over again.

Revision as of 16:14, 5 April 2007

Building Cyrus SASL on Windows for the LDAP C SDK version 6 and later requires some special instructions.

You cannot use the cygwin environment - you must use the cmd environment provided by the MS Platform SDK.

Step 1: Download the software

You can get the Cyrus SASL software from here - http://asg.web.cmu.edu/sasl/sasl-library.html - The rest of the instructions below are for version 2.1.22. Unpack the software (you can just use tar xfz from a cygwin command line) to create the cyrus-sasl-2.1.22 directory.

Step 2: Apply the patches

The default Windows build of Cyrus SASL wants to use the sasldb, which requires Berkeley DB to be installed. The Mozilla LDAP C SDK is a client, so does not need the sasldb stuff. There are two patches which can be applied to make sasldb optional in the build. Patch 1 - ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/patches/plugins_NTMakefile.patch

cd cyrus-sasl-2.1.22
patch -p0 < plugins_NTMakefile.patch

Patch 2 - ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/patches/utils_NTMakefile.patch

cd cyrus-sasl-2.1.22
patch -p0 < utils_NTMakefile.patch

Step 3: Open a MS Platform SDK command window

I was not able to get it to build with cygwin. I was only able to get it to build in a command window invoked from the platform SDK, which can be found from the Start menu: Start->All Programs->Microsoft Platform SDK for Windows Server 2003 R2->Open Build Environment Window->Windows Server 2003 32-bit Build Environment->Set Win Svr 2003 32-bit Build Env (Retail) This will open a cmd window with the proper environment set up. NOTE that if you have a different system (XP, Vista) the menu may be slightly different (e.g. Platform SDK for Windows Vista instead of Server 2003). Other build environments may work but this one definitely works for me. You can also create a shortcut on your desktop.

You may need to add the following path to your INCLUDE environment variable:

set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc

if the build step below complains about missing afxres.h. If this file/path does not exist, use the Start menu Start->Search to find this file and change INCLUDE above to use the correct path.

Step 4: Invoke the build

In your cmd window from Step 3, cd to your cyrus-sasl source directory and invoke nmake e.g.

cd C:\cyrus-sasl-2.1.22
nmake /f NTMakefile

If this works, then install:

nmake /f NTMakefile install

This will install the redistributable package in C:\CMU

nmake /f NTMakefile clean

will remove the built files if you need to start over again.