Installing a MySQL Source Distribution
======================================
Before you proceed with the source installation, check first to see if
our binary is available for your platform and if it will work for you.
We put in a lot of effort into making sure that our binaries are built
with the best possible options.
You need the following tools to build and install MySQL from source:
* GNU `gunzip' to uncompress the distribution.
* A reasonable `tar' to unpack the distribution. GNU `tar' is known
to work. Sun `tar' is known to have problems.
* A working ANSI C++ compiler. `gcc' >= 2.95.2, `egcs' >= 1.0.2 or
`egcs 2.91.66', SGI C++, and SunPro C++ are some of the compilers
that are known to work. `libg++' is not needed when using `gcc'.
`gcc' 2.7.x has a bug that makes it impossible to compile some
perfectly legal C++ files, such as `sql/sql_base.cc'. If you only
have `gcc' 2.7.x, you must upgrade your `gcc' to be able to
compile MySQL. `gcc' 2.8.1 is also known to have problems on some
platforms so it should be avoided if there exists a new compiler
for the platform..
`gcc' >= 2.95.2 is recommended when compiling MySQL Version 3.23.x.
* A good `make' program. GNU `make' is always recommended and is
sometimes required. If you have problems, we recommend trying GNU
`make' 3.75 or newer.
If you are using a recent version of *gcc*, recent enough to understand
`-fno-exceptions' option, it is *VERY IMPORTANT* that you use it.
Otherwise, you may compile a binary that crashes randomly. We also
recommend that you use `-felide-contructors' and `-fno-rtti' along with
`-fno-exceptions'. When in doubt, do the following:
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
On most systems this will give you a fast and stable binary.
If you run into problems, *PLEASE ALWAYS USE `mysqlbug'* when posting
questions to <mysql@lists.mysql.com>. Even if the problem isn't a bug,
`mysqlbug' gathers system information that will help others solve your
problem. By not using `mysqlbug', you lessen the likelihood of getting
a solution to your problem! You will find `mysqlbug' in the `scripts'
directory after you unpack the distribution. Note:Bug reports.