2.6. Заметки по операционным системам
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 могут быть скомпилированы на 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 должна выполняться корректно:
У вас могут возникнуть проблемы с некоторыми включаемыми файлами. В таком случае новые, специфические для 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 или более новой версии: