Build Samba from Source

Revision as of 23:25, 27 May 2014 by Mmuehlfeld (talk | contribs) (Face-lifting the page (structure, formattings, text changes, remove unneccessary text, etc.), also adapting the page to fit to all Samba builds (not only Samba AD DC))


This document describes how to build Samba from source.

It can be used for any kind of Samba installation (Samba AD DC, Member Server, Samba PDC, etc.).

Samba Operating System Requirements

See OS Requirements.

Obtaining Samba

Stable version (recommended)

You can download the latest version of Samba from

It is always recommended that you install the latest version of the current stable release. If you require to choose a previous series, always choose the last version out of the Maintainance Mode series or at least from the Security Fixes Only Mode. Older version may not contain all improvements, bug- and security fixes. Also if you require help and ask e. g. on the Samba Mailing List, you typically will be told to try a recent version, to ensure that the problem isn't fixed in the meantime.

Further information about Samba Release Plannings and Supported Release Lifetime, you can find at the Samba Release Planning page.

Development versions


Warning: Never install a development version in production! It may contain untested features and can cause damages to your installation! Development releases are for testing purposes only!

„samba-master“ contains the source of the upcomming release series.

To download the latest samba-master repository, run

$ git clone git:// samba-master


$ git clone samba-master

Development version of a specific branch

The v*-test branches contain the latest changes and patches since the last official release of that source tree.

The following example demonstrate the checkout of the latest sources of Samba 4.1, scheduled for the next 4.1.x release:

$ git clone -b v4-1-test git:// samba-v4-1-test


$ git clone -b v4-1-test samba-v4-1-test

Updating a local git repository

If you already have downloaded a development source tree via „git“ and want to update it to the latest version, run the following command out of your corresponding git source directory:

$ git pull

If you receive the following error

fatal: Unable to create '[...]/.git/index.lock': File exists.


$ git clean -x -f -d

to reset your tree.

Compile Samba

To build Samba, run the following commands out of the root of your Samba source directory (Only for compiling a Samba 3.x version, run the commands in the subdirectory [...]/source3/):

 $ ./configure
 $ make

The above command will setup Samba to install in /usr/local/samba/.

It's recommended to run

$ ./configure --help

to check out the possible configure options, to adapt your installation.

If you are using a development version of Samba or require a build with extra debug information, that may help to diagnose in case of failure, add the following option to „configure“:


To include the Samba selftest („make test“) in the build, add the following option to „configure“:


Install Samba

To install Samba, run the following command in your Samba source directory as user „root“ (Only for installing a Samba 3.x version, run the command in the subdirectory [...]/source3/):

# make install

Upgrading a source version

See Updating Samba.