2.6. Заметки по операционным системам
2.6.6.7. Примечания к Alpha-DEC-OSF/1
В случае проблем компиляции при установленных DEC CC и gcc попробуйте запустить configure следующим образом:
CCМ CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql
Если возникнут проблемы с файлом c_asm.h , можно создать и использовать "фиктивный" c_asm.h при помощи следующих команд:
touch include/c_asm.h
CC=gcc CFLAGS=-I./include \
CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql
Отметим, что перечисленные ниже проблемы с программой 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:
CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
С Digital-компилятором "C++ V6.1-029" должно работать:
CCМ -pthread
CFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all \
-arch host
CXX=cxx -pthread
CXXFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all \
-arch host -noexceptions -nortti
export CC CFLAGS CXX CXXFLAGS
./configure --prefix=/usr/mysql/mysql
--with-mysqld-ldflags=-all-static \
--disable-shared --with-named-thread-libs="-lmach -lexc -lc"
В некоторых версиях OSF/1 испорчена функция alloca() . Ситуацию можно поправить удалением из файла config.h строки, в которой определяется HAVE_ALLOCA .
Может также существовать некорректный прототип для функции alloca() в /usr/include/alloca.h . Предупреждение, вызванное этим, можно игнорировать.
configure будет автоматически использовать следующие потоковые библиотеки: --with-named-thread-libs="-lpthread -lmach -lexc -lc" .
При использовании gcc можно попробовать запустить configure следующей строкой:
shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ...
Возникновение проблем с сигналами (MySQL неожиданно аварийно завершает работу при большой нагрузке), может означать, что вы обнаружили ошибку при работе операционной системы с потоками и сигналами. В данном случае можно запретить MySQL использовать сигналы путем конфигурации его следующим образом:
shell> CFLAGS=-DDONT_USE_THR_ALARM \
CXXFLAGS=-DDONT_USE_THR_ALARM \
./configure ...
Это не повлияет на производительность 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 повторно.
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|