GNU Info

Info Node: (mysql.info)SCO

(mysql.info)SCO


Next: SCO Unixware Prev: SGI-Irix Up: Other Unix Notes
Enter node , (file) or (file)node

SCO Notes
.........

The current port is tested only on a "sco3.2v5.0.4" and "sco3.2v5.0.5"
system.  There has also been a lot of progress on a port to "sco
3.2v4.2".

For the moment the recommended compiler on OpenServer is gcc 2.95.2.
With this you should be able to compile MySQL with just:

     CC=gcc CXX=gcc ./configure ... (options)

  1. For OpenServer 5.0.X you need to use GDS in Skunkware 95 (95q4c).
     This is necessary because GNU `gcc' 2.7.2 in Skunkware 97 does not
     have GNU `as'.  You can also use `egcs' 1.1.2 or newer
     `http://www.egcs.com/'.  If you are using `egcs' 1.1.2 you have to
     execute the following command:

          shell> cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/

  2. You need the port of GCC 2.5.x for this product and the Development
     system.  They are required on this version of SCO Unix.  You cannot
     just use the GCC Dev system.

  3. You should get the FSU Pthreads package and install it first.
     This can be found at
     `http://www.cs.wustl.edu/~schmidt/ACE_wrappers/FSU-threads.tar.gz'.
     You can also get a precompiled package from
     `http://www.mysql.com/Downloads/SCO/FSU-threads-3.5c.tar.gz'.

  4. FSU Pthreads can be compiled with SCO Unix 4.2 with tcpip.  Or
     OpenServer 3.0 or Open Desktop 3.0 (OS 3.0 ODT 3.0), with the SCO
     Development System installed using a good port of GCC 2.5.x ODT or
     OS 3.0 you will need a good port of GCC 2.5.x There are a lot of
     problems without a good port.  The port for this product requires
     the SCO Unix Development system.  Without it, you are missing the
     libraries and the linker that is needed.

  5. To build FSU Pthreads on your system, do the following:

       a. Run `./configure' in the `threads/src' directory and select
          the SCO OpenServer option. This command copies
          `Makefile.SCO5' to `Makefile'.

       b. Run `make'.

       c. To install in the default `/usr/include' directory, login as
          root, then `cd' to the `thread/src' directory, and run `make
          install'.

  6. Remember to use GNU `make' when making MySQL.

  7. If you don't start `safe_mysqld' as root, you probably will get
     only the default 110 open files per process.  `mysqld' will write
     a note about this in the log file.

  8. With SCO 3.2V5.0.5, you should use FSU Pthreads version 3.5c or
     newer.  You should also use gcc 2.95.2 or newer!

     The following `configure' command should work:

          shell> ./configure --prefix=/usr/local/mysql --disable-shared

  9. With SCO 3.2V4.2, you should use FSU Pthreads version 3.5c or
     newer.  The following `configure' command should work:

          shell> CFLAGS="-D_XOPEN_XPG4" CXX=gcc CXXFLAGS="-D_XOPEN_XPG4" \
                 ./configure \
                     --prefix=/usr/local/mysql \
                     --with-named-thread-libs="-lgthreads -lsocket -lgen -lgthreads" \
                     --with-named-curses-libs="-lcurses"

     You may get some problems with some include files. In this case,
     you can find new SCO-specific include files at
     `http://www.mysql.com/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz'.
     You should unpack this file in the `include' directory of your
     MySQL source tree.

SCO development notes:

   * MySQL should automatically detect FSU Pthreads and link `mysqld'
     with `-lgthreads -lsocket -lgthreads'.

   * The SCO development libraries are re-entrant in FSU Pthreads.  SCO
     claims that its libraries' functions are re-entrant, so they must
     be reentrant with FSU Pthreads.  FSU Pthreads on OpenServer tries
     to use the SCO scheme to make re-entrant libraries.

   * FSU Pthreads (at least the version at `http://www.mysql.com/')
     comes linked with GNU `malloc'.  If you encounter problems with
     memory usage, make sure that `gmalloc.o' is included in
     `libgthreads.a' and `libgthreads.so'.

   * In FSU Pthreads, the following system calls are pthreads-aware:
     `read()', `write()', `getmsg()', `connect()', `accept()',
     `select()', and `wait()'.

   * The CSSA-2001-SCO.35.2 (the patch is listed in custom as
     erg711905-dscr_remap security patch (ver 2.0.0) breaks FSU threads
     and makes mysqld instable.  You have to remove this one if you
     want to run mysqld on an OpenServer 5.0.6 machine.

If you want to install DBI on SCO, you have to edit the `Makefile' in
DBI-xxx and each subdirectory.

Note that the following assumes gcc 2.95.2 or newer:

     OLD:                                  NEW:
     CC = cc                               CC = gcc
     CCCDLFLAGS = -KPIC -W1,-Bexport       CCCDLFLAGS = -fpic
     CCDLFLAGS = -wl,-Bexport              CCDLFLAGS =
     
     LD = ld                               LD = gcc -G -fpic
     LDDLFLAGS = -G -L/usr/local/lib       LDDLFLAGS = -L/usr/local/lib
     LDFLAGS = -belf -L/usr/local/lib      LDFLAGS = -L/usr/local/lib
     
     LD = ld                               LD = gcc -G -fpic
     OPTIMISE = -Od                        OPTIMISE = -O1
     
     OLD:
     CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include
     
     NEW:
     CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include

This is because the Perl dynaloader will not load the `DBI' modules if
they were compiled with `icc' or `cc'.

Perl works best when compiled with `cc'.


automatically generated by info2www version 1.2.2.9