Building MySQL GUI Tools on Linux
Building instructions for Linux version of GUI tools.
Contents |
[edit] Common Stuff
The easiest way to install required packages is by using some automatic dependency resolving package manager, such as apt-get or yum. You can install these dependencies by hand, but it will be a very tedious process since some of them require other packages that require other packages themselves etc.
Common requirements are listed below. The package name in some distributions is also mentioned. Use package managers such as apt-get, yum or yast to install them so that additional dependencies are installed along automatically.
| software | version | ubuntu 6 | suse 10.x |
|---|---|---|---|
| gcc/g++ | 4 | g++ | gcc-c++ |
| autoconf, automake, libtool | |||
| x11-libs | libx11-dev | xorg-x11-devel | |
| glibc | libc6-dev | glibc-devel | |
| libstdc++ | libstdc++6-4.0-dev | libstdc++-devel | |
| glib | 2.6+ | libglib2.0-dev | glib2-devel |
| gtk+ | 2.6+ | libgtk2.0-dev | gtk2-devel |
| libglade2 | 2.5+ | libglade2-dev | libglade2-devel |
| libsigc++ | 2.0.x | libsigc++-2.0-dev | libsigc++2-devel |
| glibmm-2.4 | 2.4 | libglibmm-2.4-dev | glibmm24-devel |
| gtkmm-2.4 | 2.4 | libgtkmm-2.4-dev | gtkmm24-devel |
| pcre | 4.x or newer | libpcre3-dev | pcre-devel |
| pkgconfig | 0.15+ | pkg-config | pkgconfig |
| libxml2 | 2.6.x | libxml2-dev | libxml2-devel |
| MySQL 5.0 or 5.1 client libs and headers | libmysqlclient15-dev | ||
If you get an error message like:
configure: error: XML::Parser perl module is required for intltool
while building in Ubuntu or Debian, install libxml-parser-perl
[edit] Subversion Repository
There is more than one branch in mysql-gui-common. The branch you want is trunk, the other one(s) are obsolete and are kept for archival reasons.
To checkout mysql-gui-common:
svn co http://svn.mysql.com/svnpublic/mysql-gui-common/trunk mysql-gui-common
This will checkout the correct branch into a directory called mysql-gui-common
[edit] MySQL Administrator
To build Administrator you need the mysql-gui-common and mysql-administrator source trees.
[edit] Subversion Repository
The current branch for Administrator is trunk.
To checkout mysql-administrator:
svn co http://svn.mysql.com/svnpublic/mysql-administrator/trunk mysql-administrator
[edit] Building
There are no special considerations for building Administrator. Simply configure and build mysql-gui-common and then mysql-administrator with the usual commands:
./configure make make install
[edit] MySQL Query Browser
To build Query Browser, you also need to first build mysql-gui-common (trunk).
[edit] Subversion Repository
To checkout mysql-query-browser:
svn co http://svn.mysql.com/svnpublic/mysql-query-browser/trunk mysql-query-browser
[edit] Extra Requirements
| software | version | ubuntu 6 | suse 10.x |
|---|---|---|---|
| libgtkhtml | 2.11 or 3.x | libgtkhtml2-dev | |
| libgnomeprint | 2.2 | libgnomeprint2.2-dev |
[edit] Building
To build the Query Browser, you must tell the version of libgtkhtml you have to configure:
./configure --with-gtkhtml=libgtkhtml-3.6
To find out what version you have, take a look in /usr/lib/pkgconfig, for example:
$ ls /usr/lib/pkgconfig/libgtk* /usr/lib/pkgconfig/libgtkhtml-3.6.pc
That means you must pass libgtkhtml-3.6 to the --with-gtkhtml= option. SuSE has these files in /opt/gnome/lib/pkgconfig
libgtkhtml-2.0 has much less dependencies than libgtkhtml-3.x, so if you have build it yourself, it will be a lot easier.
[edit] MySQL Migration Toolkit
In Linux and Mac OS X, only a script version of the Migration Toolkit is available at this time. To build it, you need to build mysql-gui-common with Java support.
[edit] Subversion Repository
The current branch for the Migration Toolkit is trunk.
To checkout mysql-migration-tool:
svn co http://svn.mysql.com/svnpublic/mysql-migration-tool/trunk mysql-migration-tool
[edit] Building
To build, go to the mysql-migration-tool directory after compiling mysql-gui-common and run
./build_mt_script.sh
This will create a directory containing a "distribution" of the MT script. If the build fails because of a missing library libjvm.so, set the location of that library in the LD_LIBRARY_PATH environment variable:
ex.: export LD_LIBRARY_PATH=/opt/j2sdk1.4.2_07/jre/lib/i386/server/
Note that you will need to update that path in the run_script file as well.