Descargué las fuentes del tronco de Valgrind y las construí para usar en un sistema Linux integrado (Montavista Linux) con tecnología ARM926 (arquitectura ARMv5t). Todo salió bien hasta que intenté ejecutarlo para comprobar alguna aplicación que hice; Valgrind me dice:
"valgrind: no se pudo iniciar la herramienta 'memcheck' para la plataforma 'arm-linux': no existe ese archivo o directorio".
Intentar ejecutar cualquier otra herramienta da el mismo mensaje. Para make install utilicé la opción --prefix que apunta al sistema de archivos del sistema integrado que está montado a través de NFS (por ejemplo, --prefix =/home/NFS_mounted/opt/valgrind). Verifiqué la ubicación de la instalación y el directorio lib contiene las herramientas adecuadas; También verifiqué el archivo pkgconfig correspondiente para Valgrind y parece estar bien, así que no tengo ni idea en este momento y no puedo entender qué está yendo mal. 2 preguntas:
Ejecute este comando en su dispositivo de destino
export VALGRIND_LIB=~/valgrind/lib/valgrind/
dónde ./valgrind
es la ruta del directorio instalado (dado en ./configure
)
El problema es que 'valgrind' está buscando un ejecutable diferente para ejecutar la verificación real. Utiliza la ruta de instalación que especificó cuando la configuró, que no es la misma ruta que en el destino.
Debería poder confirmar esto creando un enlace simbólico/home/NFS_mounted en su objetivo que apunte a '/'.
Coloque en VALGRIND_LIB el directorio principal del directorio AMD64-linux. P.ej.:
export VALGRIND_LIB=/u/gallinar/downloaded/valgrind-3.2.3/.in_place
funcionó para mí hoy :).
VALGRIND_LIB debe apuntar a la carpeta que tiene la herramienta Memcheck y otras bibliotecas compiladas x dependientes