2.6.6.9 Примечания к Caldera (SCO)
В настоящее время пакет тестировался только на системах ``sco3.2v5.0.4'' и
``sco3.2v5.0.5''. Заметный прогресс отмечается в отношении пакета на ``sco3.2v4.2''.
В настоящее время в качестве компилятора под OpenServer мы рекомендуем gcc
2.95.2. Используя его, можно скомпилировать MySQL при помощи следующей
строки:
CC=gcc CXX=gcc ./configure ... (опции)
-
На OpenServer 5.0.X необходимо использовать gcc-2.95.2p1 или более
свежую версию от Skunkware - http://www.caldera.com/skunkware/ и
выбрать пакет для OpenServer или получить его по ftp по адресу
ftp2.caldera.com в каталоге pub/skunkware/osr5/devtools/gcc.
-
Следует использовать портированную версию GCC 2.5.x для этого продукта
и систему Development. Они необходимы для данной версии Caldera (SCO)
Unix. Использовать просто систему GCC Dev нельзя.
-
Необходимо загрузить пакет FSU Pthreads и установить его. Его можно
найти по адресу
http://www.cs.wustl.edu/~schmidt/ACE_wrappers/FSU-threads.tar.gz. Можно
также получить уже скомпилированный пакет на
http://www.mysql.com/Downloads/SCO/FSU-threads-3.5c.tar.gz.
-
FSU Pthreads могут быть скомпилированы на Caldera (SCO) Unix 4.2 c
tcpip. На OpenServer 3.0 или Open Desktop 3.0 (OS 3.0 ODT 3.0) с
использованием Caldera (SCO) Development System вам понадобится хороший
пакет GCC 2.5.x ODT или OS 3.0. Однако при отсутствии хорошо портированной
версии возникнет масса проблем. Для портирования этой программы требуется
система SCO Unix Development. Без нее у вас не будет необходимых библиотек
и редактора связей.
-
Для сборки FSU Pthreads в своей системе нужно выполнить следующие
действия:
-
Запустите
./configure
в каталоге threads/src
и выберите опцию SCO
OpenServer. Эта команда скопирует Makefile.SCO5
в Makefile
.
-
Запустите
make
.
-
Для установки в каталог по умолчанию - `/usr/include' войдите в систему с
правами пользователя
root
, перейдите в каталог thread/src
и запустите make
install
.
-
Не забудьте использовать GNU
make
при сборке MySQL.
-
При запуске
safe_mysqld
не с правами пользователя root
вы получите
разрешение открывать одновременно только 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"
У вас могут возникнуть проблемы с некоторыми включаемыми файлами. В таком
случае новые, специфические для SCO включаемые файлы можно найти по адресу
http://www.mysql.com/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz. Этот архив
следует распаковать в каталог дерева исходных текстов MySQL с именем
include
Замечания по разработке под Caldera (SCO):
-
MySQL должен автоматически обнаруживать FSU Pthreads и линковать
mysqld
с использованием -lgthreads -lsocket -lgthreads
.
-
Библиотеки разработки в Caldera (SCO) реентрантны в FSU Pthreads.
Специалисты Caldera утверждают, что библиотечные функции Caldera
реентрантны, поэтому они должны быть реентрантны с FSU Pthreads. FSU
Pthreads на OpenServer пытаются использовать SCO-схему, чтобы создать
реентрантные библиотеки.
-
FSU Pthreads (по крайней мере версия на http://www.mysql.com/)
поставляется как линкованная с GNU
malloc
. При возникновении проблем с
использованием памяти, убедитесь, что `gmalloc.o' включен в `libgthreads.a' и
`libgthreads.so'.
-
В FSU Pthreads используют pthread следующие системные вызовы:
read()
,
write()
, getmsg()
, connect()
, accept()
, select()
, and wait()
.
-
CSSA-2001-SCO.35.2 (в списках заказов патч упоминается как патч по
системе безопасности erg711905-dscr_remap) (версия 2.0.0) портит
FSU-потоки и вызывает неустойчивую работу
mysqld
. Если вы собираетесь
запускать mysqld
на машине с установленным OpenServer 5.0.6, этот патч
применять не следует.
Если необходимо установить DBI на Caldera (SCO), следует отредактировать
Makefile
в DBI-xxx и каждом подкаталоге.
Для приведенного ниже кода подразумевается использование 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
OLD:
CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include
НОВЫЙ:
CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include
Это вызвано тем, что dynaloader
из Perl не загружает DBI-модулей, если они
скомпилированы компиляторами icc
или cc
.
Perl будет работать лучше, если его скомпилировать компилятором cc
.