(mysql.info.gz) Installing source tree
Info Catalog
(mysql.info.gz) configure options
(mysql.info.gz) Installing source
(mysql.info.gz) Compilation problems
2.8.3 Installing from the Development Source Tree
-------------------------------------------------
*Caution*: You should read this section only if you are interested in
helping us test our new code. If you just want to get MySQL up and
running on your system, you should use a standard release distribution
(either a binary or source distribution will do).
To obtain our most recent development source tree, use these
instructions:
1. Download BitKeeper from
`http://www.bitmover.com/cgi-bin/download.cgi'. You will need
Bitkeeper 3.0 or newer to access our repository.
2. Follow the instructions to install it.
3. After BitKeeper has been installed, first go to the directory you
want to work from, and then use one of the following commands to
clone the MySQL version branch of your choice:
To clone the old 3.23 branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-3.23 mysql-3.23
To clone the 4.0 stable (production) branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-4.0 mysql-4.0
To clone the 4.1 stable (production) branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-4.1 mysql-4.1
To clone the 5.0 development branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-5.0 mysql-5.0
In the preceding examples, the source tree will be set up in the
`mysql-3.23/', `mysql-4.0/', `mysql-4.1/', or `mysql-5.0/'
subdirectory of your current directory.
If you are behind a firewall and can only initiate HTTP
connections, you can also use BitKeeper via HTTP.
If you are required to use a proxy server, set the environment
variable `http_proxy' to point to your proxy:
shell> export http_proxy="http://your.proxy.server:8080/"
Replace the `bk://' with `http://' when doing a clone. Example:
shell> bk clone http://mysql.bkbits.net/mysql-4.1 mysql-4.1
The initial download of the source tree may take a while,
depending on the speed of your connection. Please be patient.
4. You will need GNU `make', `autoconf' 2.58 (or newer), `automake'
1.8, `libtool' 1.5, and `m4' to run the next set of commands. Even
though many operating systems come with their own implementation
of `make', chances are high that the compilation will fail with
strange error messages. Therefore, it is highly recommended that
you use GNU `make' (sometimes named `gmake') instead.
Fortunately, a large number of operating systems ship with the GNU
toolchain preinstalled or supply installable packages of these. In
any case, they can also be downloaded from the following locations:
* `http://www.gnu.org/software/autoconf/'
* `http://www.gnu.org/software/automake/'
* `http://www.gnu.org/software/libtool/'
* `http://www.gnu.org/software/m4/'
* `http://www.gnu.org/software/make/'
If you are trying to configure MySQL 4.1 or later, you will also
need GNU `bison' 1.75 or later. Older versions of `bison' may
report this error:
sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
Note: The maximum table size is not actually exceeded; the error
is caused by bugs in older versions of `bison'.
Versions of MySQL before version 4.1 may also compile with other
`yacc' implementations (for example, BSD `yacc' 91.7.30). For later
versions, GNU `bison' is required.
The following example shows the typical commands required to
configure a source tree. The first `cd' command changes location
into the top-level directory of the tree; replace `mysql-4.0' with
the appropriate directory name.
shell> cd mysql-4.0
shell> bk -r edit
shell> aclocal; autoheader; autoconf; automake
shell> (cd innobase; aclocal; autoheader; autoconf; automake)
shell> (cd bdb/dist; sh s_all)
shell> ./configure # Add your favorite options here
make
The command lines that change directory into the `innobase' and
`bdb/dist' directories are used to configure the `InnoDB' and
Berkeley DB (`BDB') storage engines. You can omit these command
lines if you to not require `InnoDB' or `BDB' support.
If you get some strange errors during this stage, verify that you
really have `libtool' installed.
A collection of our standard configuration scripts is located in
the `BUILD/' subdirectory. You may find it more convenient to use
the `BUILD/compile-pentium-debug' script than the preceding set of
shell commands. To compile on a different architecture, modify the
script by removing flags that are Pentium-specific.
5. When the build is done, run `make install'. Be careful with this
on a production machine; the command may overwrite your live
release installation. If you have another installation of MySQL,
we recommend that you run `./configure' with different values for
the `--prefix', `--with-tcp-port', and `--unix-socket-path' options
than those used for your production server.
6. Play hard with your new installation and try to make the new
features crash. Start by running `make test'. MySQL test
suite.
7. If you have gotten to the `make' stage and the distribution does
not compile, please report it in our bugs database at
`http://bugs.mysql.com/'. If you have installed the latest
versions of the required GNU tools, and they crash trying to
process our configuration files, please report that also.
However, if you execute `aclocal' and get a `command not found'
error or a similar problem, do not report it. Instead, make sure
that all the necessary tools are installed and that your `PATH'
variable is set correctly so that your shell can find them.
8. After the initial `bk clone' operation to obtain the source tree,
you should run `bk pull' periodically to get updates.
9. You can examine the change history for the tree with all the diffs
by using `bk revtool'. If you see some funny diffs or code that
you have a question about, do not hesitate to send email to the
MySQL `internals' mailing list. Mailing-list. Also, if
you think you have a better idea on how to do something, send an
email message to the same address with a patch. `bk diffs' will
produce a patch for you after you have made changes to the source.
If you do not have the time to code your idea, just send a
description.
10. BitKeeper has a nice help utility that you can access via `bk
helptool'.
11. Please note that any commits (made via `bk ci' or `bk citool') will
trigger the posting of a message with the changeset to our
internals mailing list, as well as the usual openlogging.org
submission with just the changeset comments. Generally, you
wouldn't need to use commit (since the public tree will not allow
`bk push'), but rather use the `bk diffs' method described
previously.
You can also browse changesets, comments, and source code online. For
example, to browse this information for MySQL 4.1, go to
`http://mysql.bkbits.net:8080/mysql-4.1'.
The manual is in a separate tree that can be cloned with:
shell> bk clone bk://mysql.bkbits.net/mysqldoc mysqldoc
There are also public BitKeeper trees for MySQL Control Center and
MyODBC. They can be cloned respectively as follows.
To clone MySQL Control center, use this command:
shell> bk clone http://mysql.bkbits.net/mysqlcc mysqlcc
To clone MyODBC, use this command:
shell> bk clone http://mysql.bkbits.net/myodbc3 myodbc3
To clone Connector/NET, use this command:
shell> bk clone http://mysql.bkbits.net/connector-net connector-net
Info Catalog
(mysql.info.gz) configure options
(mysql.info.gz) Installing source
(mysql.info.gz) Compilation problems
automatically generated byinfo2html