現行の移植版は、``sco3.2v5.0.5''、``sco3.2v5.0.6''、および ``sco3.2v5.0.7'' のシステム上でのみテストされています。``sco 3.2v4.2'' への移植版でも大きな進展がありました.
現時点で、OpenServer 上で推奨されるコンパイラは gcc 2.95.2 です。このコンパイラを使用すると、以下のコマンドだけで MySQL をコンパイルできます。
CC=gcc CXX=gcc ./configure ... (options)
OpenServer 5.0.x の場合は、Skunkware の gcc-2.95.2p1 以降を使用する必要がある。gcc-2.95.2p1 を入手するには、http://www.sco.com/skunkware/ でブラウザ版の OpenServer パッケージを選択するか、ftp サイト ftp2.caldera.com のpub/skunkware/osr5/devtools/gcc ディレクトリに ftp 接続する。
この製品と開発システムのための GCC 2.5.x の移植が必要である。これらは、このバージョンの SCO Unix 上に存在する必要がある。GCC Dev システムだけを使用することはできない。
最初に、FSU Pthreads パッケージを入手して、それをインストールする必要がある。 FSU Pthreads パッケージは、http://moss.csc.ncsu.edu/~mueller/ftp/pub/PART/pthreads.tar.gz にある。 また、http://www.mysql.com/Downloads/SCO/FSU-threads-3.5c.tar.gz からプリコンパイルされたパッケージを入手することもできる。
FSU Pthreads は、SCO Unix 4.2 で tcpip を使用してコンパイルできる。あるいは、GCC 2.5.x ODT または OS 3.0 の適正な移植版を使用して SCO Development System がインストールされた、OpenServer 3.0 または Open Desktop 3.0(OS 3.0 ODT 3.0)では、GCC 2.5.x の適正な移植版が必要である。適正な移植版を使用しないと、多くの問題が発生する。この製品の移植には、SCO Unix Development system が必要である。これがないと、必要なライブラリとリンカが足りない。
FSU Pthreads をシステムにビルドするには、以下の手順で行う。
threads/src
ディレクトリで
./configure
を実行し、SCO
OpenServer
オプションを選択する。このコマンドによって、Makefile.SCO5
が Makefile
にコピーされる。
make
を実行する。
デフォルトの /usr/include
ディレクトリにインストールするには、root
としてログインして、thread/src
ディレクトリに移動し(cd
)、make
install
を実行する。
MySQL をコンパイルするときは、必ず GNU
make
を使用する。
root
として
mysqld_safe
を起動しないと、おそらくプロセス当たり
110
個(デフォルト)のオープンファイルしか取得しない。mysqld
は、これに関する注記をログファイルに書き込む。
SCO 3.2V5.0.5 では、FSU Pthreads バージョン 3.5c 以降を使用する必要がある。 また、gcc 2.95.2 以降を使用する必要もある。
以下の configure
コマンドが有効である。
shell> ./configure --prefix=/usr/local/mysql --disable-shared
SCO 3.2V4.2 では、FSU Pthreads バージョン 3.5c
以降を使用する必要がある。 以下の
configure
コマンドが有効である。
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"
インクルードファイルに関する問題が発生することがある。この場合、http://www.mysql.com/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz
で、新しい SCO
固有のインクルードファイルを見つける。
MySQL ソースツリーの include
ディレクトリにこのファイルをアンパックする。
SCO development の注意事項
MySQL は、自動的に FSU Pthreads
を検出して、-lgthreads -lsocket
-lgthreads
を使用して
mysqld
をリンクする。
SCO development ライブラリは、FSU Pthreads に再入可能である。 SCO は、自社のライブラリの関数は再入可能であるから、FSU Pthreadsでも再入可能であるはずだと公言している。OpenServer 上の FSU Pthreads は、SCO スキームを使用して再入可能なライブラリを作成する。
FSU Pthreads (http://www.mysql.com/
にあるバージョン以降)は、GNU
malloc
でリンクされた状態で提供される。メモリ使用率に関する問題が発生した場合は、libgthreads.a
と libgthreads.so
に
gmalloc.o
がインクルードされていることを確認する。
FSU Pthreads で、pthread
対応のシステムコールは、read()
、write()
、getmsg()
、connect()
、accept()
、select()
、および
wait()
である。
CSSA-2001-SCO.35.2(このパッチは
erg711905-dscr_remap
セキュリティパッチ(バージョン
2.0.0)として「custom」にリストされている)は
FSU スレッドを破壊し、mysqld
を不安定にする。OpenServer 5.0.6 マシン上で
mysqld
を実行する場合は、このパッチを削除する必要がある。
SCO は、ftp://ftp.sco.com/pub/openserver5 (OpenServer 5.0.x 用)でオペレーティングシステムパッチを提供している。
SCO は、セキュリティ修正プログラムと libsocket.so.2 を ftp://ftp.sco.com/pub/security/OpenServer および ftp://ftp.sco.com/pub/security/sse (OpenServer 5.0.x 用)で提供している。
OSR506 より前のバージョンのセキュリティ修正プログラム。また、OSR506 より前のバージョンのシステムへのインストールに関する説明が含まれた libsocket.so.2 と libresolv.so.1 の両方として、ftp://stage.caldera.com/pub/security/openserver/ または ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/ にある telnetd 修正プログラム。
MySQL のコンパイルや使用を試みる前に、上記のパッチをインストールすることをお勧めする。
SCO に DBI をインストールする場合は、DBI-xxx
と各サブディレクトリに含まれている
Makefile
を編集する必要があります。
注意: 以下は、gcc 2.95.2 以降を想定したものです。
変更前: 変更後: 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 変更前: CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include 変更後: CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include
icc
または cc
でコンパイルされた DBI
モジュールを Perl dynaloader
がロードしないので、このように処理する必要があります。
Perl は、cc
でコンパイルされると最もよく機能します。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.