DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) sco

Info Catalog (mysql.info) sgi-irix (mysql.info) other-unix-notes (mysql.info) sco-openserver
 
 2.12.5.8 SCO UNIX and OpenServer 5.0.x Notes
 ............................................
 
 The current port is tested only on sco3.2v5.0.5, sco3.2v5.0.6, and
 sco3.2v5.0.7 systems. There has also been progress on a port to
 sco3.2v4.2. Open Server 5.0.8 (Legend) has native threads and allows
 files greater than 2GB. The current maximum file size is 2GB.
 
 We have been able to compile MySQL with the following `configure'
 command on OpenServer with `gcc' 2.95.3.
 
      CC=gcc CXX=gcc ./configure --prefix=/usr/local/mysql \
          --enable-thread-safe-client --with-innodb \
          --with-openssl --with-vio --with-extra-charsets=complex
 
 `gcc' is available at
 `ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj'.
 
 This development system requires the OpenServer Execution Environment
 Supplement oss646B on OpenServer 5.0.6 and oss656B and The OpenSource
 libraries found in gwxlibs. All OpenSource tools are in the `opensrc'
 directory. They are available at
 `ftp://ftp.sco.com/pub/openserver5/opensrc/'.
 
 We recommend using the latest production release of MySQL.
 
 SCO provides operating system patches at
 `ftp://ftp.sco.com/pub/openserver5' for OpenServer 5.0.[0-6] and
 `ftp://ftp.sco.com/pub/openserverv5/507' for OpenServer 5.0.7.
 
 SCO provides information about security fixes at
 `ftp://ftp.sco.com/pub/security/OpenServer' for OpenServer 5.0.x.
 
 The maximum file size on an OpenSever 5.0.x system is 2GB.
 
 The total memory which can be allocated for streams buffers, clists,
 and lock records cannot exceed 60MB on OpenServer 5.0.x.
 
 Streams buffers are allocated in units of 4096 byte pages, clists are
 70 bytes each, and lock records are 64 bytes each, so:
 
      (NSTRPAGES * 4096) + (NCLIST * 70) + (MAX_FLCKREC * 64) <= 62914560
 
 Follow this procedure to configure the Database Services option. If you
 are unsure whether an application requires this, see the documentation
 provided with the application.
 
   1. Log in as `root'.
 
   2. Enable the SUDS driver by editing the `/etc/conf/sdevice.d/suds'
      file. Change the `N' in the second field to a `Y'.
 
   3. Use `mkdev aio' or the Hardware/Kernel Manager to enable support
      for asynchronous I/O and relink the kernel. To allow users to lock
      down memory for use with this type of I/O, update the
      aiomemlock(F) file. This file should be updated to include the
      names of users that can use AIO and the maximum amounts of memory
      they can lock down.
 
   4. Many applications use setuid binaries so that you need to specify
      only a single user. See the documentation provided with the
      application to determine whether this is the case for your
      application.
 
 After you complete this process, reboot the system to create a new
 kernel incorporating these changes.
 
 By default, the entries in `/etc/conf/cf.d/mtune' are set as follows:
 
      Value           Default         Min             Max
      -----           -------         ---             ---
      NBUF            0               24              450000
      NHBUF           0               32              524288
      NMPBUF          0               12              512
      MAX_INODE       0               100             64000
      MAX_FILE        0               100             64000
      CTBUFSIZE       128             0               256
      MAX_PROC        0               50              16000
      MAX_REGION      0               500             160000
      NCLIST          170             120             16640
      MAXUP           100             15              16000
      NOFILES         110             60              11000
      NHINODE         128             64              8192
      NAUTOUP         10              0               60
      NGROUPS         8               0               128
      BDFLUSHR        30              1               300
      MAX_FLCKREC     0               50              16000
      PUTBUFSZ        8000            2000            20000
      MAXSLICE        100             25              100
      ULIMIT          4194303         2048            4194303
      * Streams Parameters
      NSTREAM         64              1               32768
      NSTRPUSH        9               9               9
      NMUXLINK        192             1               4096
      STRMSGSZ        16384           4096            524288
      STRCTLSZ        1024            1024            1024
      STRMAXBLK       524288          4096            524288
      NSTRPAGES       500             0               8000
      STRSPLITFRAC    80              50              100
      NLOG            3               3               3
      NUMSP           64              1               256
      NUMTIM          16              1               8192
      NUMTRW          16              1               8192
      * Semaphore Parameters
      SEMMAP          10              10              8192
      SEMMNI          10              10              8192
      SEMMNS          60              60              8192
      SEMMNU          30              10              8192
      SEMMSL          25              25              150
      SEMOPM          10              10              1024
      SEMUME          10              10              25
      SEMVMX          32767           32767           32767
      SEMAEM          16384           16384           16384
      * Shared Memory Parameters
      SHMMAX          524288          131072          2147483647
      SHMMIN          1               1               1
      SHMMNI          100             100             2000
      FILE            0               100             64000
      NMOUNT          0               4               256
      NPROC           0               50              16000
      NREGION         0               500             160000
 
 We recommend setting these values as follows:
 
 `NOFILES' should be 4096 or 2048.
 
 `MAXUP' should be 2048.
 
 To make changes to the kernel, `cd' to `/etc/conf/bin' and use
 `./idtune' NAME PARAMETER to make the changes. For example, to change
 `SEMMS' to `200', execute these commands as `root':
 
      # cd /etc/conf/bin
      # ./idtune SEMMNS 200
 
 We recommend tuning the system, but the proper parameter values to use
 depend on the number of users accessing the application or database and
 size the of the database (that is, the used buffer pool). The following
 affects the kernel parameters defined in `/etc/conf/cf.d/stune':
 
 `SHMMAX' (recommended setting: 128MB) and `SHMSEG' (recommended
 setting: 15). These parameters have influence on the MySQL database
 engine to create user buffer pools.
 
 `NOFILES' and `MAXUP' should be at to at least 2048.
 
 `MAXPROC' should be set to at least 3000/4000 (depends on number of
 users) or more.
 
 Also is recommended to use following formula to count value for
 `SEMMSL', `SEMMNS' and `SEMMNU':
 
      SEMMSL = 13
 
 The 13 is what has been found to be the best for both Progress and
 MySQL.
 
 `SEMMNS' = `SEMMSL' * number of db servers to be run on the system.
 
 Set `SEMMNS' to the value of `SEMMSL' multiplied by the number of db
 servers (maximum) that you are running on the system at one time.
 
      SEMMNU = SEMMNS
 
 Set the value of `SEMMNU' to equal the value of `SEMMNS'. You could
 probably set this to 75% of `SEMMNS', but this is a conservative
 estimate.
 
 You need to at least install the "SCO OpenServer Linker and Application
 Development Libraries" or the OpenServer Development System to use
 `gcc'. You cannot just use the GCC Dev system without installing one of
 these.
 
 You should get the FSU Pthreads package and install it first.  This can
 be found at
 `http://moss.csc.ncsu.edu/~mueller/ftp/pub/PART/pthreads.tar.gz'.  You
 can also get a precompiled package from
 `ftp://ftp.zenez.com/pub/zenez/prgms/FSU-threads-3.14.tar.gz'.
 
 FSU Pthreads can be compiled with SCO Unix 4.2 with tcpip, or using
 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. For ODT or
 OS 3.0, you 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. You also need `SCO-3.2v4.2-includes.tar.gz'.
 This file contains the changes to the SCO Development include files that
 are needed to get MySQL to build. You need to replace the existing
 system include files with these modified header files. They can be
 obtained from
 `ftp://ftp.zenez.com/pub/zenez/prgms/SCO-3.2v4.2-includes.tar.gz'.
 
 To build FSU Pthreads on your system, all you should need to do is run
 GNU `make'. The `Makefile' in FSU-threads-3.14.tar.gz is set up to make
 FSU-threads.
 
 You can run `./configure' in the `threads/src' directory and select the
 SCO OpenServer option. This command copies `Makefile.SCO5' to
 `Makefile'. Then run `make'.
 
 To install in the default `/usr/include' directory, log in as `root',
 and then `cd' to the `thread/src' directory and run `make install'.
 
 Remember that you must use GNU `make' to build MySQL.
 
 * If you don't start `mysqld_safe' as `root', you should get only
 the default 110 open files per process.  `mysqld' writes a note about
 this in the log file.
 
 With SCO 3.2V4.2, you should use FSU Pthreads version 3.14 or newer.
 The following `configure' command should work:
 
      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 have problems with some include files. In this case, you can
 find new SCO-specific include files at
 `ftp://ftp.zenez.com/pub/zenez/prgms/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 library functions are re-entrant, so they must be
      re-entrant 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 `ftp::/ftp.zenez.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 (version 2.0.0)) breaks FSU
      threads and makes `mysqld' unstable. You have to remove this one
      if you want to run `mysqld' on an OpenServer 5.0.6 machine.
 
    * If you use SCO OpenServer 5, you may need to recompile FSU
      pthreads with `-DDRAFT7' in `CFLAGS'. Otherwise, `InnoDB' may hang
      at a `mysqld' startup.
 
    * SCO provides operating system patches at
      `ftp://ftp.sco.com/pub/openserver5' for OpenServer 5.0.x.
 
    * SCO provides security fixes and `libsocket.so.2' at
      `ftp://ftp.sco.com/pub/security/OpenServer' and
      `ftp://ftp.sco.com/pub/security/sse' for OpenServer 5.0.x.
 
    * Pre-OSR506 security fixes. Also, the `telnetd' fix at
      `ftp://stage.caldera.com/pub/security/openserver/' or
      `ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/'
      as both `libsocket.so.2' and `libresolv.so.1' with instructions for
      installing on pre-OSR506 systems.
 
      It's probably a good idea to install these patches before trying
      to compile/use MySQL.
 
 Beginning with Legend/OpenServer 6.0.0, there are native threads and no
 2GB file size limit.
 
Info Catalog (mysql.info) sgi-irix (mysql.info) other-unix-notes (mysql.info) sco-openserver
automatically generated byinfo2html