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

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


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

    2.6.3.1. Примечания к Solaris 2.7/2.8

    На Solaris 2.7 и 2.8 можно нормально использовать бинарные файлы для Solaris 2.6. Большинство вопросов по работе с Solaris 2.6 относятся также и к Solaris 2.7 и 2.8.

    Необходимо отметить, что MySQL версии 3.23.4 и последующих может автоматически определять новые версии Solaris и избегать описанных ниже проблем!

    В Solaris 2.7/2.8 имеются некоторые ошибки во включаемых файлах. При использовании gcc вы можете получить следующие сообщения об ошибках:

    /usr/include/widec.h:42: warning: `getwc' redefined
    /usr/include/wchar.h:326: warning: this is the location of the previous definition
    

    В этом случае для исправления ошибки нужно выполнить следующие действия:

    Скопируйте /usr/include/widec.h в .../lib/gcc-lib/os/gcc-version/include и измените строку с номером 41, содержащую:

    #if !defined(lint) && !defined(__lint)
    на
    #if !defined(lint) && !defined(__lint) && !defined(getwc)
    

    Есть и альтернативный вариант - отредактировать /usr/include/widec.h непосредственно на месте. В любом случае после исправления необходимо удалить config.cache и запустить configure повторно!

    Если при запуске make выдаются сообщения об ошибках наподобие упомянутых ниже, причина в том, что программа configure не обнаружила файл curses.h (возможно, из-за ошибок в /usr/include/widec.h):

    In file included from mysql.cc:50:
    /usr/include/term.h:1060: syntax error before `,'
    /usr/include/term.h:1081: syntax error before `;'
    

    Решить эту проблему можно одним из способов:

    • Конфигурировать с CFLAGS=-DHAVE_CURSES_H CXXFLAGS=-DHAVE_CURSES_H ./configure (эта запись должна быть цельной строкой, без пробелов).

    • Отредактировать /usr/include/widec.h, как описано выше, и перезапустить configure.

    • Удалить строку #define HAVE_TERM из config.h и запустить make повторно.

    Если редактор связей не может обнаружить -lz при линковании вашей клиентской программы, то проблема, возможно, заключается в том, что файл libz.so установлен в /usr/local/lib. Данную проблему можно решить любым из приведенных выше способов:

    • Добавить /usr/local/lib к LD_LIBRARY_PATH.

    • Создать ссылку на libz.so из /lib.

    • Если используется Solaris 8, можно установить необязательную библиотеку zlib с CD-диска с дистрибутивом Solaris 8.

    • Конфигурировать MySQL с опцией --with-named-z-libs=no.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100