Se você tiver problemas com compilação e tem o DEC
CC
e o gcc
instalados,
tente executar o configure
desta forma:
CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
Se você tiver problemas com o arquivo
c_asm.h
, você pode criar e usar um
arquivo c_asm.h
'burro' com:
touch include/c_asm.h CC=gcc CFLAGS=-I./include \ CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
Perceba que os seguintes problemas com o programa
ld
pode ser corrigido fazendo o download do
último kit de atualização da DEC (Compaq) de
http://ftp.support.compaq.com/public/unix/.
Com o OSF1 V4.0D e o compilador "DEC C V5.6-071 no Digital
Unix V4.0 (Rev. 878)" o compilador tem alguns comportamentos
estranhos (simbolos asm
indefinidos).
/bin/ld
também aparece estar quebrado
(problemas com erros _exit undefined
ocorrendo ao ligar no mysqld
). Neste
sistema, temos compilado o MySQL com a seguinte linha
configure
, depois de substituir
/bin/ld
com a versão do OSF 4.0C:
CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
Com o compilador da Digital "C++ V6.1-029", o seguinte deve funcionar:
CC=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"
Em algumas versões do OSF1, a função
alloca()
está quebrada. Corrija isto
removendo a linha no config.h
que define
'HAVE_ALLOCA'
.
A função alloca()
pode também ter um
protótipo incorreto em
/usr/include/alloca.h
. O alerta resultante
deste erro pode ser ignorado.
configure
irá usar a seguinte biblioteca
thread automaticamente:
--with-named-thread-libs="-lpthread -lmach -lexc
-lc"
.
Quando usar o gcc
, você também pode
tentar executar configure
desta forma:
shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ....
Se você tiver problemas com sinais (MySQL finalzar inesperadamente sobre alta carga), você pode ter encontrado um erro com threads e sinais no SO. Neste caso você pode dizer ao MySQL para não usar sinais configurando-o com:
shell>CFLAGS=-DDONT_USE_THR_ALARM \
CXXFLAGS=-DDONT_USE_THR_ALARM \
./configure ...
Isto não afeta a performance do MySQL, mas tem efeitos
colaterais que não permitem finalizar clientes que estão
``dormindo'' em uma conexão com mysqladmin
kill
ou mysqladmin shutdown
.
Neste caso o cliente irá morrer quando ele receber o próximo
comando.
Com gcc
2.95.2, você provavelmente
encontrará o seguinte erro de compilação:
sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566 Please submit a full bug report.
Para corrigir isto você deve alterar para o diretório
sql
e fazer um ``corta e cola'' da última
linha gcc
, mas altere
-O3
para -O0
(ou
adicione -O0
imediatamente depois de
gcc
se você não tiver algumas opção
-O
na sua linha de compilação.) Depois
disto feito você deve apenas voltar ao diretório superior e
executar make
novamente.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.