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

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


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

    2.6.1.2. Заметки по поводу Linux x86

    Для MySQL необходимо наличие libc версии 5.4.12 или выше. Известно, что MySQL работает с libc 5.4.46, а также с glibc версии 2.0.6 и более новыми. Существуют некоторые проблемы с glibc из пакетов в RedHat, поэтому в случае возникновения проблем следует проверить, нет ли обновлений данной версии! Известно, что glibc из RPM версий 2.0.7-19 и 2.0.7-29 работоспособны.

    Если вы используете Red Hat 8.0 или новую glibc 2.2.x вам следует запускать mysqld с опцией --thread-stack=192K. Если вы этого не сделаете, то mysqld будет умирать в gethostbyaddr() потому что новая glibc требует > 128Кбайт памяти стека для этого вызова. Такой размер стека установлен по умолчанию в MySQL 4.0.10 и более новых.

    При использовании для сборки MySQL gcc 3.0 и выше библиотеку libstdc++v3 необходимо установить до сборки; если вы не сделаете этого, то получите сообщение об отсутствии символа __cxa_pure_virtual во время линкования!

    На некоторых старых версиях Linux configure может приводить к ошибкам такого типа:

    Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file.
    See the Installation chapter in the Reference Manual.
    

    Сделайте именно то, о чем говорится в сообщении об ошибке - добавьте дополнительный символ подчеркивания к имени макроса _P, которое имеет только один символ подчеркивания в начале, и попробуйте выполнить те же действия еще раз.

    При компиляции могут выводиться некоторые предупреждения. Ниже приведены те из них, которые можно проигнорировать:

    mysqld.cc -o objs-thread/mysqld.o
    mysqld.cc: In function `void init_signals()':
    mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int'
    mysqld.cc: In function `void * signal_hand(void *)':
    mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
    

    mysql.server находится либо в каталоге share/mysql каталога инсталляции MySQL, либо в каталоге support-files каталога дерева исходных текстов MySQL.

    Возникновение следующей ошибки при линковании mysqld говорит о некорректной установке libg++.a:

    /usr/lib/libc.a(putc.o): In function `_IO_putc':
    putc.o(.text+0x0): multiple definition of `_IO_putc'
    

    Использования libg++.a можно избежать путем запуска configure следующим образом:

    shell> CXX=gcc ./configure
    
     
    © 1997-2005 PHP Club Team
    Rambler's Top100