DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) porting

Info Catalog (mysql.info) news (mysql.info) Top (mysql.info) environment-variables
 
 Appendix E Porting to Other Systems
 ***********************************
 

Menu

 
* debugging-server             Debugging a MySQL Server
* debugging-client             Debugging a MySQL Client
* the-dbug-package             The DBUG Package
* rts-threads                  Comments about RTS Threads
* thread-packages              Differences Between Thread Packages
 
 This appendix helps you port MySQL to other operating systems. Do check
 the list of currently supported operating systems first. See 
 which-os. If you have created a new port of MySQL, please let us know
 so that we can list it here and on our Web site
 (`http://www.mysql.com/'), recommending it to other users.
 
 Note: If you create a new port of MySQL, you are free to copy and
 distribute it under the GPL license, but it does not make you a
 copyright holder of MySQL.
 
 A working POSIX thread library is needed for the server. On Solaris 2.5
 we use Sun PThreads (the native thread support in 2.4 and earlier
 versions is not good enough), on Linux we use LinuxThreads by Xavier
 Leroy, <Xavier.Leroy@inria.fr>.
 
 The hard part of porting to a new Unix variant without good native
 thread support is probably to port MIT-pthreads. See
 `mit-pthreads/README' and Programming POSIX Threads
 (`http://www.humanfactor.com/pthreads/').
 
 Up to MySQL 4.0.2, the MySQL distribution included a patched version of
 Chris Provenzano's Pthreads from MIT (see the MIT Pthreads Web page at
 `http://www.mit.edu/afs/sipb/project/pthreads/' and a programming
 introduction at `http://www.mit.edu:8001/people/proven/IAP_2000/').
 These can be used for some operating systems that do not have POSIX
 threads. See  mit-pthreads.
 
 It is also possible to use another user level thread package named FSU
 Pthreads (see `http://moss.csc.ncsu.edu/~mueller/pthreads/'). This
 implementation is being used for the SCO port.
 
 See the `thr_lock.c' and `thr_alarm.c' programs in the `mysys'
 directory for some tests/examples of these problems.
 
 Both the server and the client need a working C++ compiler. We use
 `gcc' on many platforms. Other compilers that are known to work are
 SPARCworks, Sun Forte, Irix `cc', HP-UX `aCC', IBM AIX `xlC_r'), Intel
 `ecc/icc' and Compaq `cxx').
 
 To compile only the client use `./configure --without-server'.
 
 There is currently no support for only compiling the server, nor is it
 likely to be added unless someone has a good reason for it.
 
 If you want/need to change any `Makefile' or the configure script you
 also need GNU Automake and Autoconf. See  installing-source-tree.
 
 All steps needed to remake everything from the most basic files.
 
      /bin/rm */.deps/*.P
      /bin/rm -f config.cache
      aclocal
      autoheader
      aclocal
      automake
      autoconf
      ./configure --with-debug=full --prefix='your installation directory'
 
      # The makefiles generated above need GNU make 3.75 or newer.
      # (called gmake below)
      gmake clean all install init-db
 
 If you run into problems with a new port, you may have to do some
 debugging of MySQL! See  debugging-server.
 
 * Before you start debugging `mysqld', first get the test programs
 `mysys/thr_alarm' and `mysys/thr_lock' to work. This ensures that your
 thread installation has even a remote chance to work!
 
Info Catalog (mysql.info) news (mysql.info) Top (mysql.info) environment-variables
automatically generated byinfo2html