 |

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 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/
-
You need the port of GCC 2.5.? for this product and the Development
system. They are required on this version of SCO UNIX. You cannot
just use the GCC Dev system.
-
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
ftp://www.mysql.com/pub/mysql/Downloads/SCO/FSU-threads-3.5c.tar.gz.
-
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.? 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.
-
To build FSU Pthreads on your system, do the following:
-
Run
./configure in the `threads/src' directory and select
the SCO OpenServer option. This command copies `Makefile.SCO5' to
`Makefile'.
-
Run
make .
-
To install in the default `/usr/include' directory, login as root,
then
cd to the `thread/src' directory, and run make
install .
-
Remember to use GNU
make when making MySQL.
-
On OSR 5.0.5, you should use the following configure line:
shell> CC="gcc -DSCO" CXX="gcc -DSCO" ./configure
The -DSCO is needed to help configure detect some thread
functions properly. If you forget -DSCO , you will get the following
error message while compiling:
my_pthread.c: In function `my_pthread_mutex_init':
my_pthread.c:374: `pthread_mutexattr_default' undeclared (first use this function)
-
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.
-
With SCO 3.2V5.0.5, you should use a FSU Pthreads version 3.5c or newer.
The following
configure command should work:
shell> CC="gcc -belf" ./configure --prefix=/usr/local/mysql --disable-shared
-
With SCO 3.2V4.2, you should use a 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 \
--with-debug --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
ftp://www.mysql.com/pub/mysql/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 reentrant in FSU Pthreads. SCO claims
that its libraries' functions are reentrant, so they must be reentrant with
FSU Pthreads. FSU Pthreads on OpenServer tries to use the SCO scheme to
make reentrant library.
-
FSU Pthreads (at least the version at
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() .
If you want to install DBI on SCO, you have to edit the `Makefiles' in
DBI-xxx and each subdirectory:
OLD: NEW:
CC = cc CC = gcc -belf
CCCDLFLAGS = -KPIC -W1,-Bexport CCCDLFLAGS = -fpic
CCDLFLAGS = -wl,-Bexport CCDLFLAGS =
LD = ld LD = gcc -belf -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 -belf -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 .
|