Ok, on my download page, I have provided 2 different downloads which are automatically created from our source repository. A source patch which may be applied to a current mysql-6.0 tree and a tarball snapshot of the work repository. The source snapshot is not as friendly to build as the official MySQL source downloads as it is somewhat raw and unfinished - you will need certain GNU tools installed on your computer to make use of it. As a minimum, you will need the following:
- GNU autoconf version 2.52 - I have version 2.61
- GNU automake 1.08 - I have version 1.10
- GNU libtool 1.4 - I have version 1.5.24
- GNU bison 1.8 - I have version 2.3
- GNU make - I have version 3.81
The simplest first and only step you may use is the BUILD scripts ... locate a build script for you and simply execute it such as:
$ ./BUILD/compile-ppc-debug-max-no-ndb
$ ./BUILD/autorun.sh
$ ./configure <your configure options here>
--just-print
" would display the commands which the script would execute or "--just-configure
" would stop the build immediately after completing the configure
script. Almost always, I would use one of the standard scripts.Now on to the minimum requirements of the External Language Stored Procedures work which Eric and myself are hacking with... There is a small wiki page available at MySQL Forge but it needs further embellishment:
- The Java plug-in probably requires JDK 1.4 however JDK 1.3 may work. Supported JDKs include JDKs from Apple, Sun, IBM and Blackdown. Please send an email to Eric or myself if you experience any problems on your setup.
- The XML-RPC plug-in requires the xmlrpc-c library available from their Sourceforge site. As a minimum, you should use no less than version 1.03 ... version 1.06 is better but I have not tried their newer alphas.
- The Perl plug-in will require a properly configured Perl runtime with multithreading configured.... If you want to check, run "
perl -V
" and check what it says aboutusethreads
,useithreads
andusemultiplicity
. For example, if a line like the following appears, you are ok:usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
However, if you see a line like the next line, the Perl plugin should not even attempt to compile:usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
Unfortunately, most Linux distros will compile your Perl without support for threads.
I should mention that the code for the Perl plug-in is incomplete so any attempt to actually use it will crash for now.
Eric and I have submitted a talk on our External Language Stored Procedures work for the MySQL Users Conference 2008 so if we are all lucky, there may be a presentation about this project. They have received more than 300 presentation proposals and I am sure that almost all of them are excellent presentations from seasoned presenters, so... Fingers crossed!
For all those curious and adventurous, please do download the code and have fun!