Notas Linux x86
O MariaDB exige a versão 5.4.12 ou mais nova da libc
. Sabe-se que funciona com a libc
5.4.46. A versão 2.0.6 e posterior da glibc
também deve funcionar. Existem alguns problemas com os RPMs glibc
da RedHat, portanto se você tiver problemas, confira se existe alguma atualização! Sabemos que os RPMs glibc
2.0.7-19 e 2.0.7-29 funcionam.
Se você estiver usando o Red Hat 8.0 ou uma nova biblioteca glibc
2.2.x, você deve iniciar o mysqld
com a opção --thread-stack=192K
(Use -O thread_stack=192K antes do MariaDB 4
). Se você não fizer isto o mysqld
finlizará em gethostbyaddr()
porque a nova biblioteca glibc exige mais de 128K de memória na pilha para esta chamada. Este tamanho de pilha é o padrão agora no MariaDB 4.0.10 e acima.
Se você está usando o gcc
3.0 e acima para compilar o MySQL, você deve instalar a biblioteca libstdc++v3
antes de compilar o MySQL; se você não fizer isto, você obterá um erro sobre um símbolo __cxa_pure_virtual
perdido durante a ligação.
Em algumas distribuições Linux mais antigas, configure
pode produzir um erro como este:
Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual.
Faça apenas o que a mensagem de erro diz e adicione um caractere sublinhado para a macro _P
que tem somente um caractere sublinhado e então tente novamente.
Você pode obter alguns aviso quando estiver compilando; os mostrados abaixo podem ser ignorados:
mysqld.cc -o objs-thread/mysqld.o mysqld.cc: In function `void init_signals()': mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int' mysqld.cc: In function `void * signal_hand(void *)': mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
O mysql.server
pode ser encontrado no diretório share/mysql
sob o diretório de instalação MariaDB ou no diretório support-files
da árvore fonte MySQL.
Se o mysqld
sempre descarregar um core na inicialização, o problema pode ser que você tenha um antigo /lib/libc.a
. Tente renomeá-lo depois remova sql/mysqld
e faça um novo make install
e tente novamente. Este problema foi relatado em algumas instalações Slackware.
Se você obter o seguinte erro quando ligar o mysqld
, significa que seu libg++.a
não está instalado corretamente:
/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'
Você pode evitar o uso de libg++.a
executando configure
desta forma: