MySQL necesita la versión 5.4.12 o posterior de
libc
. Se sabe que trabaja correctamente con
libc
5.4.46. glibc
versión 2.0.6 y posterior también debería funcionar. Han
ocurrido algunos problemas con los RPMs de
glibc
para Red Hat, de modo que si sucede,
se deberá buscar cualquier actualización disponible. Los
RPMs de las versiones glibc
2.0.7-19 y
2.0.7-29 funcionan adecuadamente.
Si se está empleando Red Hat 8.0 o una nueva biblioteca
glibc
2.2.x, se puede ver una finalización
imprevista de mysqld en
gethostbyaddr()
. Esto sucede porque la
nueva biblioteca glibc
requiere un tamaño
de pila mayor a 128Kb para esta llamada. Para solucionar el
problema, se debe iniciar mysqld con la
opción --thread-stack=192K
. (Use
-O thread_stack=192K
si está utilizando
una versión de MySQL anterior a MySQL 4). Este tamaño de
pila es el predeterminado en MySQL 4.0.10 y posteriores, de
modo que el problema mencionado no existirá.
Si se está empleando gcc 3.0 o posterior
para compilar MySQL, se deberá instalar la biblioteca
libstdc++v3
antes de compilar MySQL; si no
se hace de esta forma, se obtendrá un error relativo a un
símbolo inexistente __cxa_pure_virtual
durante el enlazado.
En algunas distribuciones de Linux antiguas, configure puede producir un error 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.
Simplemente hay que hacer lo que el mensaje dice (Error de
sintaxis en sched.h. Cambie _P a __P en el fichero
/usr/include/sched.h) Agregar un carácter de subrayado
adicional al nombre de macro _P
que tiene
solamente uno, y reintentar.
Pueden aparecer algunas advertencias durante la compilación. Las que se listan a continuación, pueden ignorarse:
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'
Si mysqld realiza siempre un volcado de
núcleo al iniciarse, el problema puede estar en una versión
antigua de /lib/libc.a
. Debe intentarse
renombrando el fichero, luego borrar
sql/mysqld
y ejecutar nuevamente el
comando make install. Luego reintentar.
Este problema se informó en algunas instalaciones de
Slackware.
Si se obtiene el siguiente error al enlazar
mysqld, significa que la biblioteca
libg++.a
no se instaló correctamente:
/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'
Se puede evitar el uso de libg++.a
ejecutando configure de esta manera:
shell> CXX=gcc ./configure
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.