Отметим, что перечисленные ниже проблемы с программой ld могут быть решены
путем загрузки последнего набора патчей от DEC (Compaq) с
http://ftp.support.compaq.com/public/unix/.
При использовании OSF/1 4.0D и компилятора DEC C V5.6-071 на Digital Unix
V4.0 (Rev. 878) компилятор начинает вести себя странно (неопределенные
asm-символы). Кроме того, /bin/ld также, похоже, содержит ошибки (проблемы
с ошибками _exit undefined возникающими при линковании mysqld). На этих
системах нам удалось организовать компиляцию MySQL с помощью следующей
строки configure, заменив /bin/ld аналогичным файлом из версии OSF 4.0C:
В некоторых версиях OSF/1 испорчена функция alloca(). Ситуацию можно
поправить удалением из файла `config.h' строки, в которой определяется
HAVE_ALLOCA.
Может также существовать некорректный прототип для функции alloca() в
`/usr/include/alloca.h'. Предупреждение, вызванное этим, можно игнорировать.
configure будет автоматически использовать следующие потоковые библиотеки:
--with-named-thread-libs="-lpthread -lmach -lexc -lc".
При использовании gcc можно попробовать запустить configure следующей
строкой:
Возникновение проблем с сигналами (MySQL неожиданно аварийно завершает
работу при большой нагрузке), может означать, что вы обнаружили ошибку при
работе операционной системы с потоками и сигналами. В данном случае можно
запретить MySQL использовать сигналы путем конфигурации его следующим
образом:
Это не повлияет на производительность MySQL, но приведет к побочному
эффекту, который проявляется как невозможность оборвать работу клиента со
спящим соединением командами mysqladmin kill или mysqladmin shutdown.
Вместо этого клиент завершит работу при попытке послать следующую команду.
При использовании gcc 2.95.2 может возникать следующая ошибка компиляции:
sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566
Please submit a full bug report.
Чтобы выйти из положения в этом случае, следует перейти в каталог `sql' и
выполнить последнюю строку gcc (просто выделите ее, например, мышкой и
вставьте в терминал), изменив в ней -O3 на -O0 (или добавьте -O0
непосредственно после gcc, если у вас в строке компиляции отсутствует
какая-либо опция -O). После выполнения указанных действий вернитесь в
каталог верхнего уровня и запустите make повторно.