Build Environment Setup for Linux
The following is a list of tools that are required for building MariaDB on Linux and Mac OS X. Most, if not all, of these will exist as packages in your distribution's package repositories, so check there first. See Building MariaDB on Ubuntu, Building MariaDB on CentOS, and Building MariaDB on Gentoo pages for specific requirements for those platforms.
- GNU tar
- gcc 2.95.2 or later
- GNU make 3.75 or later
- bison (2.0 for MariaDB 5.5)
- gnutls or openssl
- jemalloc (optional)
An easy way to install the needed programs on Linux is to run one of the following commands (depending on your Linux distribution):
sudo apt-get build-dep mysql-server # for Debian and Ubuntu-based distributions sudo yum-builddep mysql # for Fedora 17-18 (part of the yum-utils package) sudo yum-builddep mariadb # for Fedora 19+ (part of the yum-utils package) sudo zypper si -d mysql-community-server # for OpenSUSE
Note: On Debian-based distributions, you may receive a "You must put some 'source' URIs in your sources.list" error. To avoid this, ensure that /etc/apt/sources.list contains the source repositories.
For Debian Squeeze:
deb http://ftp.debian.org/debian squeeze main contrib deb http://security.debian.org squeeze/updates main contrib deb-src http://ftp.debian.org/debian squeeze main contrib deb-src http://security.debian.org squeeze/updates main contrib
Refer to the documentation for your Linux distribution for how to do this on your system.
After editing the sources.list, do:
sudo apt-get update
...and then the above mentioned
Note: On openSUSE the source package repository may be disabled. The following command will enable it:
sudo zypper mr -er repo-source
After enabling it, you will be able to run the zypper command to install the build dependencies.
You should now have your build environment set up and can proceed to Getting the MariaDB Source Code and then using the Generic Build Instructions to build MariadB (or following the steps for your Linux distribution or Creating a MariaDB Binary Tarball).