Spec-Zone .ru
спецификации, руководства, описания, API
|
Решение многих проблем включает реконфигурировать. Если Вы действительно реконфигурировали, примите во внимание следующее:
Если CMake выполняется после того,
как он был ранее выполнен, он может использовать информацию, которая была собрана во время ее
предыдущего вызова. Эта информация хранится в CMakeCache.txt
. Когда CMake запускает, он ищет тот файл и читает его
содержание, если он существует, при условии, что информация все еще корректна. То предположение
недопустимо, когда Вы реконфигурировали.
Каждый раз, когда Вы выполняете CMake, следует работать, делают снова, чтобы перекомпилировать. Однако, можно хотеть удалить старые объектные файлы из предыдущего, создает сначала, потому что они были скомпилированы, используя различные параметры конфигурации.
Чтобы препятствовать тому, чтобы старые объектные файлы или конфигурационная информация использовались, выполните эти команды на Unix прежде, чем запустить повторно CMake:
shell>make clean
shell>rm CMakeCache.txt
Или, на Windows:
shell>devenv MySQL.sln /clean
shell>del CMakeCache.txt
Если Вы создаете из исходного дерева, удаляете и воссоздаете свой каталог сборки прежде, чем запустить повторно
CMake. Для получения инструкций по созданию за пределами исходного
дерева см.
На некоторых системах предупреждения могут произойти из-за различий в системе, включают файлы. Следующий список описывает другие проблемы, которые, как находили, произошли чаще всего, компилируя MySQL:
Чтобы
определить флаги, которые будут использоваться Вашим C или компиляторами C++, определите их использующий
CFLAGS
и CXXFLAGS
переменные окружения. Можно
также определить, что компилятор называет этот способ использовать CC
и
CXX
. Например:
shell>CC=gcc
shell>CFLAGS=-O3
shell>CXX=g++
shell>CXXFLAGS=-O3
shell>export CC CFLAGS CXX CXXFLAGS
Видеть, что отмечает Вас, возможно, должно было бы определить, вызвать mysql_config с --cflags
и --cxxflags
опции.
Если компиляция перестала работать, проверьте ли MYSQL_MAINTAINER_MODE
опция включается. Этот режим заставляет
предупреждения компилятора становиться ошибками, так отключение, это может позволить компиляции
продолжиться.
Если Ваша компиляция перестала работать с ошибками, такими как какой-либо из следующих, следует обновить свою версию, делают к GNU, сделайте:
make: Fatal error in reader: Makefile, line 18:Badly formed macro assignment
Или:
make: file `Makefile' line 18: Must be a separator (:
Или:
pthread.h: No such file or directory
Солярис и FreeBSD, как известно, имеют неприятный, делают программы.
GNU делает 3.75, как, известно, работает.
sql_yacc.cc
файл сгенерирован от sql_yacc.yy
. Обычно, процесс сборки не должен создать sql_yacc.cc
потому что MySQL идет с предварительно сгенерированной копией.
Однако, если Вы действительно должны воссоздать это, Вы могли бы встретиться с этой ошибкой:
"sql_yacc.yy", line xxx
fatal: default action causes potential...
Это - знак, что Ваша версия yacc является несовершенной. Вы, вероятно, должны установить бизона (версия GNU yacc) и использование это вместо этого.
Версии бизона, более старого чем 1.75, могут сообщить об этой ошибке:
sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
Максимальный табличный размер фактически не превышается; ошибка вызывается ошибками в более старых версиях бизона.
Для получения информации о получении или обновлении инструментов, см. системные требования в Разделе 2.9, "Устанавливая MySQL из Источника".