2.6.6.9 SCO 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 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)
-
For OpenServer 5.0.x you need to use gcc-2.95.2p1 or newer from the
Skunkware. http://www.sco.com/skunkware/ and choose browser
OpenServer packages or by ftp to ftp2.caldera.com in the
pub/skunkware/osr5/devtools/gcc directory.
-
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.
-
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
http://www.mysql.com/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.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.
-
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.
-
If you don't start
mysqld_safe
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 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
-
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 claim's 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 (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.
-
SCO provides Operating Systems Patches at
ftp://ftp.sco.com/pub/openserver5 for OpenServer 5.0.x
-
SCO provides secruity 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 the above patches before trying to
compile/use MySQL.
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
.
Add your own comment.