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
.