При использовании egcs на Digital Unix необходимо обновить свою версию до gcc 2.95.2, поскольку известно о нескольких серьезных ошибках в egcs для DEC!
В документации рекомендуется для компиляции потоковых программ под Digital
Unix использовать опцию -pthread
для cc
и cxx
, а также библиотеки -lmach
-lexc
(в дополнение к -lpthread
). Запускать configure
нужно в следующей
форме:
CC="cc -pthread" CXX="cxx -pthread -O" \ ./configure --with-named-thread-libs="-lpthread -lmach -lexc -lc"
При компиляции mysqld
может быть выдано несколько предупреждений наподобие
следующих:
mysqld.cc: In function void handle_connections()': mysqld.cc:626: passing long unsigned int *' as argument 3 of accept(int,sockadddr *, int *)'
На них можно не обращать внимания. Они возникают из-за того, что configure
может обнаруживать только ошибки, но не предупреждения.
При запуске сервера непосредственно из командной строки могут возникнуть
проблемы с тем, что он прекращает работу при выходе из системы (при выходе
из системы все процессы, запущенные вами во время работы, получают сигнал
SIGHUP
). Если такое происходит, следует запускать сервер командой:
shell> nohup mysqld [options] &
При указании nohup
следующая за ней команда будет игнорировать все сигналы
SIGHUP
, посланные терминалом. В качестве альтернативного варианта можно
запускать сервер командой safe_mysqld
, которая при запуске mysqld
выполнит
вызов nohup
вместо вас (see Раздел 4.7.2, «safe_mysqld
, оболочка mysqld
»).
Если вы столкнулись с проблемами компиляции mysys/get_opt.c
, следует
просто удалить строку #define _NO_PROTO
в начале этого файла!
Для компилятора CC от Compaq используйте следующий код:
CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed all -arch host" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed all -arch host \ -noexceptions -nortti" export CC CFLAGS CXX CXXFLAGS ./configure \ --prefix=/usr/local/mysql \ --with-low-memory \ --enable-large-files \ --enable-shared=yes \ --with-named-thread-libs="-lpthread -lmach -lexc -lc" gnumake
В случае возникновения проблем с libtool при компиляции с динамическими
библиотеками (как показано выше), при линковании mysql
вы можете избежать
этих проблем с помощью:
cd mysql /bin/sh ../libtool --mode=link cxx -pthread -O3 -DDBUG_OFF \ -O4 -ansi_alias -ansi_args -fast -inline speed \ -speculate all \ -arch host -DUNDEF_HAVE_GETHOSTBYNAME_R \ -o mysql mysql.o readline.o sql_string.o completion_hash.o \ ../readline/libreadline.a -lcurses \ ../libmysql/.libs/libmysqlclient.so -lm cd .. gnumake gnumake install scripts/mysql_install_db