DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) installing-source-tree

Info Catalog (mysql.info) configure-options (mysql.info) installing-source (mysql.info) 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).
 
 To obtain our most recent development source tree, first download and
 install the BitKeeper free client if you do not have it. The client can
 be obtained from `http://www.bitmover.com/bk-client.shar'.
 
 To install the BitKeeper client on Unix, use these commands:
 
      shell> sh bk-client.shar
      shell> cd bk_client-1.1
      shell> make all
      shell> PATH=$PWD:$PATH
 
 To install the BitKeeper client on Windows, use these instructions:
 
   1. Download and install Cygwin from http://cygwin.com
      (http://cygwin.com/).
 
   2. Make sure `gcc' and `make' have been installed under Cygwin. You
      can test this by issuing `which gcc' and `which make' commands. If
      either one is not installed, run Cygwin's package manager, select
      `gcc', `make', or both, and install them.
 
   3. Under Cygwin, execute these commands:
 
           shell> sh bk-client.shar
           shell> cd bk_client-1.1
 
      Then edit the `Makefile' and change the line that reads `$(CC)
      $(CFLAGS) -o sfio -lz sfio.c' to this:
 
           $(CC) $(CFLAGS) -o sfio sfio.c -lz
 
      Now run the `make' command and set the path:
 
           shell> make all
           shell> PATH=$PWD:$PATH
 
 The BitKeeper free client is shipped with its source code. The only
 documentation available for the free client is the source code itself.
 
 After you have installed the BitKeeper client, you can assess the MySQL
 development source tree:
 
   1. Change location to the directory you want to work from, and then
      use the following command to make a local copy of the MySQL 5.0
      branch:
 
           shell> sfioball -r+ bk://mysql.bkbits.net/mysql-5.0 mysql-5.0
 
      In the preceding example, the source tree is set up in the
      `mysql-5.0/' subdirectory of your current directory.
 
      The initial download of the source tree may take a while,
      depending on the speed of your connection. Please be patient.
 
   2. You 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 fails 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/'
 
      To configure MySQL 5.0, you 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'.
 
      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-5.0' with
      the appropriate directory name.
 
           shell> cd mysql-5.0
           shell> aclocal; autoheader
           shell> libtoolize --automake --force
           shell> automake --force --add-missing; autoconf
           shell> (cd innobase; aclocal; autoheader; autoconf; automake)
           shell> (cd bdb/dist; sh s_all)
           shell> ./configure  # Add your favorite options here
           shell> make
 
      Or you can use `BUILD/autorun.sh' as a shortcut for the following
      sequence of commands:
 
           shell> aclocal; autoheader
           shell> libtoolize --automake --force
           shell> automake --force --add-missing; autoconf
           shell> (cd innobase; aclocal; autoheader; autoconf; automake)
           shell> (cd bdb/dist; sh s_all)
 
      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.
 
   3. 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.
 
   4. Play hard with your new installation and try to make the new
      features crash. Start by running `make test'. See 
      mysql-test-suite.
 
   5. If you have gotten to the `make' stage, but the distribution does
      not compile, please enter the problem into our bugs database using
      the instructions given in  bug-reports. 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.
 
   6. After the initial copying of the repository (`sfioball') to obtain
      the source tree, you should update the repository (`update')
      periodically to get updates.
 
   7. After initially copying the repository with `sfioball' to obtain
      the source tree, you should use `update' periodically to update
      your local copy. To do this any time after you have set up the
      repository, use this command:
 
           shell> update bk://mysql.bkbits.net/mysql-5.0
 
   8. You can examine the change history for the tree with all the diffs
      by viewing the `BK/ChangeLog' file in the source tree and looking
      at the `ChangeSet' descriptions listed there. To examine a
      particular changeset, you would have to use the `sfioball' command
      to extract two particular revisions of the source tree, and then
      use an external `diff' command to compare them. 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. See
       mailing-lists. Also, if you think you have a better idea
      on how to do something, send an email message to the list with a
      patch.
 
 You can also browse changesets, comments, and source code online. To
 browse this information for MySQL 5.0, go to
 `http://mysql.bkbits.net:8080/mysql-5.0'.
 
Info Catalog (mysql.info) configure-options (mysql.info) installing-source (mysql.info) compilation-problems
automatically generated byinfo2html