Команда разработчиков MySQL прилагает огромные усилия для оптимизации исполняемых файлов программы. Лучше всего пользоваться бинарными дистрибутивами, которые доступны на Web-узле MySQL. Вряд ли вам удастся получить более качественный исполняемый файл. Например, в дистрибутивы Linux зачастую включаются нестабильные версии компиляторов и библиотек. Разработчики MySQL всегда применяют самые стабильные версии в сочетании с оптимальными опциями компиляции.
Необходимость в компиляции возникает, когда для данной платформы невозможно найти скомпилированную версию программы, хотя эта ситуация маловероятна. Еще одна причина — желание поэкспериментировать с различными библиотеками. Но подобными экспериментами не стоит слишком увлекаться, так как в результате можно получить нестабильно работающий исполняемый файл.
На Web-узле MySQL приведена информация о том, как компилировать программу на различных платформах. Не поленитесь просмотреть рекомендации специалистов, поскольку здесь есть много "подводных камней", особенно в случае старых операционных систем.
Перед началом компиляции убедитесь в наличии утилит qzip и qnutar Они необходимы для извлечения файлов из tar-архива. Учтите, что версия утилиты tar для Solaris содержит ошибку, которая не позволяет распаковывать некоторые архивы, поэтому желательно иметь GNU-версию утилиты.
Нужен также компилятор языка C++. Вполне подойдет eqcs. He забудьте и об утилите make.
Те, кто имеют опыт компиляции программ с открытыми кодами, должны быть знакомы со сценариями конфигурации, создаваемыми утилитой autoconf. Саму ее запускать не нужно. Файл Makefile создается сценарием configure. В листинге 10.11 показан вызов этого сценария с установками, которые рекомендованы разработчиками MySQL. Сценарий configure должен запускаться из каталога, содержащего исходные коды программы.
Параметры сценария configure можно получить, вызвав сценарий с опцией –help. Если нужно включить поддержку таблиц Berkeley DB или InnoDB, не забудьте указать соответствующие опции. В исходные дистрибутивы MySQL входят все необходимые для этого файлы, по этому путь к библиотекам Berkeley DB задается только в том случае, когда требуется использовать их альтернативные версии.