2.3.4 Установка из экспериментального набора исходных кодов
Предупреждение: этот раздел необходимо читать только в том случае, если вы
хотите помочь нам в тестировании нового кода. Пользователи, которые просто
хотят установить MySQL и запустить его на своей системе, должны
использовать стандартную версию дистрибутива (либо исходный код, либо
бинарный дистрибутив).
Чтобы получить самый последний из разработанных наборов исходных кодов,
используйте следующие инструкции:
-
Загрузите программу
BitKeeper
с
http://www.bitmover.com/cgi-bin/download.cgi. Для доступа к нашему
хранилищу вам понадобится версия Bitkeeper
3.0 или более новая.
-
Выполните инструкции по установке этой программы.
-
После установки
BitKeeper
сначала перейдите в каталог, из которого
собираетесь работать, затем используйте одну из приведенных ниже команд,
для получения желаемой копии ветви MySQL.
Чтобы клонировать ветку 3.23:
shell> bk clone bk://mysql.bkbits.net/mysql-3.23 mysql-3.23
Чтобы клонировать ветку 4.0:
shell> bk clone bk://mysql.bkbits.net/mysql-4.0 mysql-4.0
Чтобы клонировать ветку 4.1:
shell> bk clone bk://mysql.bkbits.net/mysql-4.1 mysql-4.1
В предыдущих примерах набор исходных кодов будет установлен в подкаталогах
`mysql-3-23/', `mysql-4.0/' или `mysql-4.1/' вашего текущего каталога.
Если вы находитесь за брендмауером, и можете только делать HTTP-запросы, вы можете
также использовать BitKeeper по HTTP.
Если вы используете прокси-сервер, просто установите переменную окружения
http_proxy
:
shell> export http_proxy="http://your.proxy.server:8080/"
И теперь просто замените bk://
на http://
когда будете делать клонирование. Например:
shell> bk clone http://mysql.bkbits.net/mysql-4.1 mysql-4.1
Первоначальная загрузка набора исходных кодов может потребовать времени в
зависимости от скорости вашего соединения; будьте терпеливы.
-
Чтобы запустить следующий набор команд, вам понадобятся программы GNU
make
, autoconf 2.53
(или новее), automake 1.5
,
libtool 1.4
и m4
. Программа automake 1.7
(или новее) еще
не работает.
Если вы хотите настроить MySQL 4.1, вам также потребуется bison 1.75
.
Более старые версии bison
могут давать такую ошибку:
sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
. На
самом деле максимальный размер таблиц не превышается, как утверждает это
сообщение, но просто-напросто такое сообщение есть следствие ошибки в более
ранних версиях bison
.
Типичные команды к выполнению в оболочке:
cd mysql-4.0
bk -r get -Sq
aclocal; autoheader; autoconf; automake
(cd innobase ; aclocal; autoheader; autoconf; automake) # для InnoDB
(cd bdb/dist ; sh s_all ) # для Berkeley DB
./configure # Ваши любимые опции здесь
make
Если вы получаете некие странные сообщения на этом этапе - удостоверьтесь,
что у вас действительно стоит libtool
!
Собрание наших стандартных конфигурационных скриптов находится в
подкаталоге `BUILD/'. Если вы предпочитаете наиболее легкий путь, можно
использовать скрипт `BUILD/compile-pentium-debug'. При компилировании с
использованием другой архитектуры модифицируйте этот скрипт путем удаления
флагов, относящихся к Pentium.
-
После выполнения компиляции запустите
make install
. Следует проявлять
осторожность при работе на машине, находящейся в эксплуатации; данная
команда может выполнить установку поверх вашей существующей
установленной версии. Если у вас уже установлена иная версия MySQL, мы
рекомендуем запускать ./configure
со значениями для опций prefix
,
with-tcp-port
и unix-socket-path
, отличными от тех, что были
использованы для сервера, находящегося в эксплуатации.
-
Усиленно нагружая свою новую инсталляцию, попытайтесь добиться отказа
новых возможностей. Начинайте с запуска
make test
(see section 9.1.2 Пакет тестирования MySQL).
-
Если вам удастся дойти до этапа
make
и дистрибутив не будет
компилироваться, просьба сообщить нам об этом по адресу
[email protected]. Просьба информировать нас и в том случае, если
вы установили последнюю версию требуемых инструментальных средств GNU
и они терпят крах при попытке обработать наш конфигурационный файл.
Однако если при выполнении aclocal
вы получите ошибку command not
found
или возникнет аналогичная проблема, об этом сообщать не надо. В
таком случае следует убедиться, что у вас установлены все необходимые
инструментальные программы и что ваша переменная PATH
указана
правильно, чтобы оболочка могла найти их.
-
Для того чтобы получить набор исходных кодов после начальной операции
bk clone
, необходимо периодически запускать bk pull
для получения
обновлений.
-
Вы можете изучить историю изменений дерева исходных кодов, чтобы
увидеть все отличия в них - для этого следует использовать
bk
sccstool
. При обнаружении каких-либо отличий, которые покажутся вам
странными, или кода, по которому возникают вопросы, не раздумывайте -
посылайте письмо на [email protected]. Кроме того, если вы
считаете, что у вас есть лучшие идеи по разработке, отправьте по тому
же адресу сообщение со своим патчем. bk diffs
создает патч после
внесения изменений в исходный код. Если у вас нет времени написать
код, реализующий вашу идею, просто пришлите ее описание.
-
BitKeeper имеет хорошую вспомогательную программу, которая доступна
посредством
bk helptool
.
-
Внимание: любой commit (
bk ci
или bk citool
) инициирует постинг
сообщения с изменениями в наш внутренний список рассылки (internals).
В общем случае, вам не нужно использовать commit (поскольку публично-доступное
дерево не допустит bk push
), но скорее, метод bk diffs
, описанный ранее.
Вы также можете просматривать изменения, комментарии и исходный код в онлайн, например,
по адресу http://mysql.bkbits.net:8080/mysql-4.1 для MySQL 4.1.
Руководство находится в отдельном дереве, которое можно клонировать так:
shell> bk clone bk://mysql.bkbits.net/mysqldoc mysqldoc
Add your own comment.