поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    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 ... (опции)
    
    1. На OpenServer 5.0.X необходимо использовать gcc-2.95.2p1 или более свежую версию от Skunkware - https://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 и установить его. Его можно найти по адресу https://www.cs.wustl.edu/~schmidt/ACE_wrappers/FSU-threads.tar.gz. Можно также получить уже скомпилированный пакет на https://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 и запустите make install.

    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 включаемые файлы можно найти по адресу https://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 (по крайней мере версия на https://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.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100