← Back to team overview

maria-developers team mailing list archive

Patch

 

Added generic build instructions from KB to INSTALL-SOURCE



diff --git a/INSTALL-SOURCE b/INSTALL-SOURCE
index 32cfa97..809d69b 100644
--- a/INSTALL-SOURCE
+++ b/INSTALL-SOURCE
@@ -1,3 +1,86 @@
-Instructions for building MariaDB can be found at:
+The instructions in this file will help you compile MariaDB from source.
Links to more complete instructions for specific platforms can be found at
 https://kb.askmonty.org/en/compiling-mariadb-from-source/

+First, get a copy of the MariaDB source.
+
+Next, prepare your system to be able to compile the source.
+
+If you don't want to run MariaDB as yourself, then you should create a
mysql user. The example below uses this user.
+
+MariaDB starting with 5.5
+
+Using cmake
+
+MariaDB 5.5 and above is compiled using cmake. You can configure your
build simply by running cmake without any special options, like
+cmake .
+but if you want it to be configured exactly as we do for our releases, use
+cmake . -DBUILD_CONFIG=mysql_release
+All cmake configuration options for MariaDB can be displayed with:
+cmake . -LH
+To build and install MariaDB after running cmake use
+make
+sudo make install
+If the commands above fail, you can enable more compilation information by
doing:
+make VERBOSE=1
+MariaDB until 5.3
+Building MariaDB with the BUILD scripts
+The easiest way of building MariaDB would be to use the appropriate BUILD
script that matches your configuration. For example:
+cd $maria-source-dir # ex: ~/repos/maria/trunk
+
+BUILD/compile-pentium64-max           # Build for intel/amd 64 bit with
all options
+BUILD/compile-pentium-max             # Build for 32 bit pentum with all
options
+
+BUILD/compile-pentium64-debug-max     # Build for intel/amd 64 bit with
debugging
+BUILD/compile-pentium64-valgrind-max  # Build for testing with valgrind
+
+There are many different BUILD scripts which cover many different
configurations and processor architectures.
+To see what a build scripts does, you can run it with the --print option.
+After building MariaDB with a BUILD script, install MariaDB with:
+sudo make install
+Building MariaDB Manually
+If there is no appropriate script, you can also execute the build commands
directly:
+
+cd $maria-source-dir # ex: ~/repos/maria/trunk
+BUILD/autorun.sh
+./configure
+make
+sudo make install
+Max builds configure line
+The following configure line is the one we used to use in the -max builds
(which includes all features we think are relevant). This is also the
configure line we use with most of our binary builds:
+
+./configure --prefix=/usr/local/mysql --enable-assembler \
+        --with-extra-charsets=complex  --enable-thread-safe-client
--with-big-tables \
+        --with-plugin-maria --with-aria-tmp-tables
--without-plugin-innodb_plugin \
+        --with-mysqld-ldflags=-static --with-client-ldflags=-static
--with-readline \
+        --with-ssl --with-plugins=max-no-ndb --with-embedded-server
--with-libevent \
+        --with-mysqld-ldflags=-all-static
--with-client-ldflags=-all-static \
+        --with-zlib-dir=bundled --enable-local-infile
+
+For a full list of options, you can do:
+
+./configure --help
+
+Starting MariaDB for the first time
+After installing MariaDB (using sudo make install), but prior to starting
MariaDB for the first time, one should:
+
+ensure the directory where you installed MariaDB is owned by the mysql
user (if the user doesn't exist, you'll need to create it)
+run the mysql_install_db script to generate the needed system tables
+Here is an example:
+
+# The following assumes that the 'mysql' user exists and that we installed
MariaDB
+
+# in /usr/local/mysql
+chown -R mysql /usr/local/mysql/
+scripts/mysql_install_db --user=mysql
+/usr/local/mysql/bin/mysqld_safe --user=mysql &
+
+
+Testing MariaDB
+
+If you want to test your compiled MariaDB, you can do either of:
+
+make test
+or
+
+cd mysql-test ; ./mysql-test-run --force
+Each of the above are run from the source directory. There is no need to
'sudo make install' MariaDB prior to running them.
\ No newline at end of file