GNU Info

Info Node: (mysql.info)Porting

(mysql.info)Porting


Next: Environment variables Prev: News Up: Top
Enter node , (file) or (file)node

Comments on porting to other systems
************************************

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 are not good enough) and 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/).

The MySQL distribution includes a patched version of Provenzano's
Pthreads from MIT (see MIT Pthreads web page
(http://www.mit.edu:8001/people/proven/pthreads.html)). This can be
used for some operating systems that do not have POSIX threads.

It is also possible to use another user level thread package named FSU
Pthreads (see FSU Pthreads home page
(http://www.informatik.hu-berlin.de/~mueller/pthreads.html)). 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'
and have tried SparcWorks). Another compiler that is known to work is
the Irix `cc'.

To compile only the client use `./configure --without-server'.

There is currently no support for only compiling the server, nor is it
likly to be added unless someone has a good reason for it.

If you want/need to change any `Makefile' or the configure script you
must get Automake and Autoconf. We have used the `automake-1.2' and
`autoconf-2.12' distributions.

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!  Note: Debugging server.

*NOTE:* Before you start debugging `mysqld', first get the test
programs `mysys/thr_alarm' and `mysys/thr_lock' to work.  This will
ensure that your thread installation has even a remote chance to work!

Debugging server
Debugging a MySQL server
Debugging client
Debugging a MySQL client
The DBUG package
The DBUG package
Locking methods
Locking methods
RTS-threads
Comments about RTS threads
Thread packages
Differences between different thread packages

automatically generated by info2www version 1.2.2.9