2012-05-09 8 views
21

Valgrind no le gusta glibc 2.15:valgrind no acepta la versión más reciente de glibc

checking the GLIBC_VERSION version... unsupported version 2.15 
configure: error: Valgrind requires glibc version 2.2 - 2.14 

¿Cómo puedo lidiar con esto? ¿Debo degradar glibc? Estoy trabajando en Ubuntu 12.04 si esa es información pertinente.

Actualización:

Así que yo estaba tratando de descargar e instalar la fuente de allí en lugar de utilizar apt-get, ya que estoy pasando aprender C de la manera difícil. Después de que tuve este problema, recurrí a apt-get para ver si funcionaría. se instala este paquete para mí:

libc6-dbg - Embedded GNU C Library: detached debugging symbols 

Respuesta

9

How can I deal with this?

Una de dos maneras:

  1. Use su distribución y descargue el paquete que ya han construido para usted, o
  2. la figura problema (que es que configure no se ha regenerado después de que 2.15 se haya agregado al configure.in) y lo solucione.

do I have to downgrade glibc?

que probablemente hará que su sistema no arrancable (porque la mayoría de los otros binarios dependen de 2,15).

18

Estoy repasando este libro también y encontré este problema. Lo busqué en Google y terminé aquí siguiendo el consejo de Russian empleado. Entré y jugué con los archivos de configuración y lo hice funcionar.

entrar en su configuración para sobre la línea 6404 y luego pegar esto en:

  2.15) 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 
$as_echo "2.15 family" >&6; } 

$as_echo "#define GLIBC_2_14 1" >>confdefs.h 

DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
;; 

Entonces me encontré con configure, make y luego sudo make install y todos sus estados.

En el archivo configure.in también agregué el código alrededor de 777 pero no creo que fuera importante para el resultado final, si es que básicamente copié las cosas anteriores que hacen referencia a 2.14, pegué y lo cambié a 2.15

esperanza esto ayuda

+1

muchas gracias por esto. Pude instalar y ejecutar los comandos make e instalar también. Pensamos valgrind ahora quejas sobre el uso de "instalar glibc's debuginfo", Valgrind parece haber sido instalado. Muchas gracias. – Ayusman

3

actualizados para valgrind-3.8.1 (y esto debería funcionar en cualquier sistema Linux actual cuasi-- probado en Slackware 14.0):

se ha añadido una opción de "2,17" (aproximadamente línea 6607) entre el final de "2.16" & el comienzo de "darwin" en "valgrind-3.8.1/configure" f ile

¡Funcionó como un encanto! Gracias por la ayuda chicos!

¡Salud!

--al

10

Actualización para valgrind 3.9.0 y glibc 2.19:

que estaba teniendo el mismo problema, y ​​añadiendo esto al script de configuración, antes de la línea con darwin), fijo que:

 2.19) 
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 
$as_echo "2.19 family" >&6; } 

$as_echo "#define GLIBC_2_19 1" >>confdefs.h 

    DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
    DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
    DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
    ;; 

probado en KUbuntu 14.04

+0

Recuerde que el número de línea ha cambiado a '6551'. Por lo tanto, no copie el '6404' (para aquellos que temen editar el archivo de configuración). – kAmol

1

al parecer, cada vez se lanza una nueva versión terminal pide diferentes versiones de Glibc. Así que si el terminal da un error del tipo:

checking the GLIBC_VERSION version... unsupported version 2.19 
configure: error: Valgrind requires glibc version 2.2 - 2.14 

A continuación, tendrá que editar el archivo para configurar la versión 2.19, debido a que la versión no es compatible como se informa en teminal.

Así que encontrar y abrir el archivo llamado configure en el directorio valgrind ya través de CTRL + F encontrar en el archivo siguiente fragmento de código:

case "${GLIBC_VERSION}" in 2.2)

Al llegar a esa línea de código en el editor (siempre el número de línea puede cambiar por versión nueva) encontrará el siguiente código que comienza con 2.2).

 2.2) 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 
$as_echo "2.15 family" >&6; } 

$as_echo "#define GLIBC_2_14 1" >>confdefs.h 

DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
;; 

Y si usted consigue allí debe ser el mismo código para todas las versiones 2.2-2.21 o más. Copie el código de cualquier versión y páselo después de la última versión, pero tenga en cuenta que el código anterior es solo para la versión 2.2, que está comenzando con 2.2), necesitará cambiar todos esos 2.2) a la versión que necesita del terminal que es 2.19) en mi caso.

lo tanto, si la versión 2.19 es requerido por el código de terminal va a agregar se verá así:

 2.19) 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 
$as_echo "2.19 family" >&6; } 

$as_echo "#define GLIBC_2_19 1" >>confdefs.h 

DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" 
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" 
;; 

Y siguiendo su código si bajar el archivo no debe haber darwin) en las siguientes líneas.

+0

funcionó para mí. Muchas gracias. –

+0

Ese fue mi error: comprobando la versión GLIBC_VERSION ... versión no compatible 2.21 configure: error: Valgrind requiere glibc versión 2.2 - 2.19 Luego seguí sus instrucciones y funcionó a las mil maravillas. –

Cuestiones relacionadas