Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Установка MySQL / Заметки по операционным системам /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Примечания к другим Unix-системам - Программирование от RIN.RU
Примечания к другим Unix-системам



Примечания к SGI Irix


При использовании Irix 6.5.3 или выше mysqld может создавать потоки только в случае, если он запущен от имени пользователя с привилегиями CAP_SCHED_MGT (подобными тем, что у root) или если такие привилегии даются
серверу mysqld следующей командой:


shell> chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld




Возможно, вам придется убрать некоторые определения из "config.h". Это делается после выполнения configure, но до компиляции.


В некоторых реализациях Irix неправильно реализована функция alloca(). Если сервер mysqld аварийно завершает работу при выполнении некоторых выражений SELECT, удалите из `config.h" строки, в которых определяются HAVE_ALLOC и HAVE_ALLOCA_H. Если не работает mysqladmin create, удалите из "config.h" строку, определяющую HAVE_READDIR_R. Можно также удалить строку, содержащую HAVE_TERM_H.


SGI рекомендует установить все патчи, как указано на странице http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html.


Вам следует, как минимум, установить последние обновления (rollup) ядра, последние обновления rld и последние обновления libc.


Для поддержки pthreads обязательно следует установить все патчи POSIX со страницы: http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html


Если при компиляции `mysql.cc" вы получили сообщение об ошибке наподобие:


"/usr/include/curses.h", line 82: error(1084): invalid combination of type


то необходимо выполнить следующие команды в каталоге верхнего уровня дерева каталогов исходных текстов MySQL:


shell> extra/replace bool curses_bool < /usr/include/curses.h \
> include/curses.h
shell> make


Мы получали также сообщения о проблемах управления. Если выполняется только один поток, то работа идет очень медленно. Однако если запустить еще одну программу-клиент, то можно получить ускорение в несколько раз (от двукратного до десятикратного соответственно) и для других потоков. Причины описанной проблемы с потоками в Irix пока неясны; возможно, вам удастся найти временное решение, пока она не будет решена.


При компиляции с помощью gcc можно использовать следующую командуconfigure:


CC=gcc CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql --enable-thread-safe-client \
--with-named-thread-libs=-lpthread


Сообщают, что для Irix 6.5.11 с собственными Irix C и C++ компиляторами версии 7.3.1.2, должно работать:


CC=cc CXX=CC CFLAGS="-O3 -n32 -TARG:platform=IP22 -I/usr/local/include \
-L/usr/local/lib" CXXFLAGS="-O3 -n32 -TARG:platform=IP22 \
-I/usr/local/include -L/usr/local/lib" ./configure \
--prefix=/usr/local/mysql --with-innodb --with-berkeley-db \
--with-libwrap=/usr/local \
--with-named-curses-libs=/usr/local/lib/libncurses.a




Примечания к Caldera (SCO)


В настоящее время пакет тестировался только на системах "sco3.2v5.0.4" и "sco3.2v5.0.5". Заметный прогресс отмечается в отношении пакета на "sco3.2v4.2".


В настоящее время в качестве компилятора под OpenServer мы рекомендуем gcc 2.95.2. Используя его, можно скомпилировать MySQL при помощи следующей строки:


CC=gcc CXX=gcc ./configure ... (опции)



  1. На OpenServer 5.0.X необходимо использовать gcc-2.95.2p1 или более свежую версию от Skunkware - http://www.caldera.com/skunkware/ и
    выбрать пакет для OpenServer или получить его по ftp по адресу ftp2.caldera.com в каталоге pub/skunkware/osr5/devtools/gcc.

  2. Следует использовать портированную версию GCC 2.5.x для этого продукта и систему Development. Они необходимы для данной версии Caldera (SCO)
    Unix. Использовать просто систему GCC Dev нельзя.

  3. Необходимо загрузить пакет 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.

  4. 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. Без нее у вас не будет необходимых библиотек
    и редактора связей.

  5. Для сборки FSU Pthreads в своей системе нужно выполнить следующие действия:


    1. Запустите ./configure в каталоге threads/src и выберите опцию SCO OpenServer. Эта команда скопирует Makefile.SCO5 в Makefile.

    2. Запустите make.

    3. Для установки в каталог по умолчанию - `/usr/include" войдите в систему с правами пользователя root, перейдите в каталог thread/src и запустите makeinstall.


  6. Не забудьте использовать GNU make при сборке MySQL.

  7. При запуске safe_mysqld не с правами пользователя root вы получите разрешение открывать одновременно только 110 файлов на процесс (это значение установлено по умолчанию). mysqld сообщит об этом в файле протокола.

  8. На SCO 3.2V5.0.5 вы должны использовать FSU Pthreads версии 3.5c иливыше, а также gcc 2.95.2 или более новую версию! Приведенная ниже команда configure должна выполняться корректно:


    shell> ./configure --prefix=/usr/local/mysql --disable-shared


  9. На 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.


Примечания к Caldera (SCO) Unixware Version 7.0


Вы должны использовать MySQL версий не ниже 3.22.13, поскольку в этой версии исправлены некоторые проблемы, связанные с переносимостью под Unixware.


Нам удалось скомпилировать MySQL следующей командой configure на Unixware версии 7.0.1:


CC=cc CXX=CC ./configure --prefix=/usr/local/mysql


Если вы хотите использовать gcc, необходимо использовать gcc версии 2.95.2 или новее.


Caldera поставляет libsocket.so.2 с ftp://stage.caldera.com/pub/security/tools для исправлений безопасности в
более ранних, чем OSR506, системах. Кроме того, исправление telnetd на ftp://stage.caldera.com/pub/security/openserver/CSSA-2001-SCO.10/ предназначено и для libsocket.so.2, и для libresolv.so.1. Там же находятся инструкции для установки на более ранние, чем OSR506, системы.


Устанавливать вышеупомянутые патчи лучше до попытки компиляции/использования MySQL.

<<<  Назад
 1  2  3  4  5 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь