Samba4 on Windows

Dan Shearer dan at
Fri Sep 14 11:32:53 GMT 2007

Samba4 will compile under Cygwin (no, Cygwin is not ideal) without
modification, but also without shared library support. It just works.

I'm looking at shared library support, but just for the record the instructions
are attached.

Dan Shearer
dan at
-------------- next part --------------
Compile Samba4 with Cygwin, without shared lib support

Dan Shearer
September 2007


These instructions are for both people unfamiliar with Windows and for people
unfamiliar with building Unix software. Hence the painful detail.

Why Cygwin? Because it does not require Samba to understand Windows internals.
Cygwin is quite slow and is not actively developed. This is a feasibility
experiment. The next step is to get shared libraries (DLLs, on Windows) working.

After that, the next step should be MinwG with MSYS, which will allow native
compilation, giving libraries that third party native Windows executables can
link against in the way they expect.

Install Development Environment

Start with a freshly installed Windows XP / 2003 Server, after the last reboot
required by installation.

Go to Start / Run
   ping somewhere.on.internet

Start Internet Explorer (the blue "E" at the bottom)
Tools / Internet Options
Security tab
Internet (picture of the world)
Custom level button
Reset custom settings: Reset to Medium
Download Now
(Firefox setup process: make it the default)

Go to
Click on "Install or Update Now!"
Run setup.exe

   Click: Next / Install from Internet / c:\cygwinfiles
   <your connection details>
   <pick a server>
   Select Packages (easier if you maximise the window)

     Click "Devel"
     Click the circular arrows next to "Default", and wait a second
     Does it say "install"? If not, keep clicking until it does.
     Make sure every element under "devel" says it will be installed.
     Click "Net", checkbox next to "rsync"
     Click Next / Finish

Start / All Programs / Cygwin Bash Shell

Fetch and Compile Samba

mkdir /samba ; cd /samba
rsync -avz .
apply the one-line patch below (which will go away once the global
flags are correctly set.)

./configure --prefix=/usr/local/samba
make pch
make install

export PATH=$PATH:/usr/local/samba/bin

try "smbclient -L //someserver -UAdministrator%password" for a start.

That's it.

--- heimdal/lib/hcrypto/rnd_keys.c      (revision 25151)
+++ heimdal/lib/hcrypto/rnd_keys.c      (working copy)
@@ -312,7 +312,7 @@
-DES_rand_data(unsigned char *p, int s)
+DES_rand_data(void *p, int s)
   des_not_rand_data (p, s);

More information about the samba-technical mailing list