Build Samba from Source
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.
Stable version (recommended)
You can download the latest version of Samba from https://www.samba.org/.
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.
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://git.samba.org/samba.git samba-master
$ git clone http://gitweb.samba.org/samba.git 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://git.samba.org/samba.git samba-v4-1-test
$ git clone -b v4-1-test http://git.samba.org/samba.git 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.
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“:
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.