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 CFLAGS="-D_FILE_OFFSET_BITS=64 -O3" \
CXX=gcc CXXFLAGS="-D_FILE_OFFSET_BITS=64 -O3" \
./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/.
        
Use 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 OpenServer 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.
              Log in as root.
            
              Enable the SUDS driver by editing the
              /etc/conf/sdevice.d/suds file. Change
              the N in the second field to a
              Y.
            
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.
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
Set these values as follows:
              NOFILES should be 4096 or 2048.
            
              MAXUP should be 2048.
            
          To make changes to the kernel, use the idtune
          name parameter command.
          idtune modifies the
          /etc/conf/cf.d/stune file for you. For
          example, to change SEMMS to
          200, execute this command as
          root:
        
# /etc/conf/bin/idtune SEMMNS 200
Then rebuild and reboot the kernel by issuing this command:
# /etc/conf/bin/idbuild -B && init 6
To tune the system, 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 kernel parameters can be set with idtune:
              SHMMAX (recommended setting: 128MB) and
              SHMSEG (recommended setting: 15). These
              parameters have an influence on the MySQL database engine
              to create user buffer pools.
            
              NOFILES and MAXUP
              should be set to at least 2048.
            
              MAXPROC should be set to at least
              3000/4000 (depends on number of users) or more.
            
              The following formulas are recommended to calculate values
              for SEMMSL, SEMMNS,
              and SEMMNU:
            
SEMMSL = 13
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
              database 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 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 is 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.


User Comments
Add your own comment.