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 source or binary distribution will do).
To obtain our most recent development source tree, use these instructions:
BitKeeper
from
http://www.bitmover.com/cgi-bin/download.cgi. You will need
Bitkeeper
3.0 or newer to access our repository.
BitKeeper
is 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 3.23 (old) branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-3.23 mysql-3.23To clone the 4.0 (stable/production) branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-4.0 mysql-4.0To clone the 4.1 alpha branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-4.1 mysql-4.1To clone the 5.0 development branch, use this command:
shell> bk clone bk://mysql.bkbits.net/mysql-5.0 mysql-5.0In 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, simply set the environment
variable http_proxy
to point to your proxy:
shell> export http_proxy="http://your.proxy.server:8080/"Now, simply replace the
bk://
with http://
when doing
a clone. Example:
shell> bk clone http://mysql.bkbits.net/mysql-4.1 mysql-4.1The initial download of the source tree may take a while, depending on the speed of your connection - please be patient.
make
, autoconf 2.53 (or newer)
,
automake 1.5
, libtool 1.4
, and m4
to run the next
set of commands. Even though many operating system already come with their
own implementation of make
, chances are high that the compilation
fails with strange error messages. Therefore it is highly recommended to
use GNU make
(sometimes also named gmake
) by all means.
Fortunately, a large number of operating systems already ship with the GNU
toolchain preinstalled or supply installable packages of these. In any case,
they can also be downloaded from the following locations:
bison 1.75
. 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 these earlier bison
versions.
Versions of MySQL before version 4.1 may also compile with other
yacc
implementations (e.g. BSD yacc
91.7.30). For later
versions, GNU bison
is a requirement.
The typical command to do in a shell is:
cd mysql-4.0 bk -r edit aclocal; autoheader; autoconf; automake (cd innobase ; aclocal; autoheader; autoconf; automake) # for InnoDB (cd bdb/dist ; sh s_all ) # for Berkeley DB ./configure # Add your favorite options here makeIf you get some strange error during this stage, check that you really have
libtool
installed.
A collection of our standard configure scripts is located in the
`BUILD/' subdirectory. If you are lazy, you can use
`BUILD/compile-pentium-debug'. To compile on a different architecture,
modify the script by removing flags that are Pentium-specific.
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.
make test
. See section 12.1.2 MySQL Test Suite.
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 all
the necessary tools are installed and that your PATH
variable is
set correctly so that your shell can find them.
bk clone
operation to get the source tree, you
should run bk pull
periodically to get the updates.
bk sccstool
. If you see some funny diffs or code that you have a
question about, do not hesitate to send e-mail to
internals@lists.mysql.com. Also, if you think you have a better idea
on how to do something, send an e-mail 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.
BitKeeper
has a nice help utility that you can access via
bk helptool
.
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 sourcecode online by browsing to for example, http://mysql.bkbits.net:8080/mysql-4.1 For MySQL 4.1.
The manual is in a separate tree which can be cloned with:
shell> bk clone bk://mysql.bkbits.net/mysqldoc mysqldoc
There are also public BitKeeper trees for MySQL Control Center and Connector/ODBC. 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 Connector/ODBC, use this command:
shell> bk clone http://mysql.bkbits.net/myodbc3 myodbc3