Pobrałem źródła z pnia Valgrind i zbudowałem je do użycia na wbudowanym systemie Linux (Montavista Linux) opartym na ARM926 (architektura ARMv5t). Wszystko szło dobrze, dopóki nie spróbowałem go uruchomić, by sprawdzić jakąś aplikację; Valgrind mówi mi:
„valgrind: nie można uruchomić narzędzia„ memcheck ”dla platformy„ arm-linux ”: Brak takiego pliku lub katalogu”.
Próba uruchomienia dowolnego innego narzędzia daje ten sam komunikat. Do make install użyłem opcji --prefix wskazującej na system plików systemu wbudowanego, który jest montowany przez NFS (np. --Prefix = / home / NFS_mounted / opt / valgrind). Sprawdziłem lokalizację instalacji i tam znajduje się katalog lib zawierający odpowiednie narzędzia; Sprawdziłem również odpowiedni plik pkgconfig dla Valgrind i wydaje się być OK, więc jestem teraz trochę nieświadomy i nie mogę zrozumieć, co się dzieje. 2 pytania:
- Czy poprawne jest używanie / instalowanie tak skompilowanej krzyżowo Valgrind? Może robię coś złego w konfiguracji, a może coś, co dotyczy systemu hosta, którego mi brakuje (gdb / gdbserver like).
- Czy ktoś próbował uruchomić go na architekturze ARM? Wiem, że wsparcie jest dość niedawne, więc zastanawiam się, czy mógłbym uzyskać przyzwoite wyniki.
źródło
Umieść w VALGRIND_LIB katalog macierzysty katalogu amd64-linux. Na przykład:
export VALGRIND_LIB=/u/gallinar/downloaded/valgrind-3.2.3/.in_place
zadziałało dla mnie dzisiaj :).
źródło
.in_place
w folderze.VALGRIND_LIB musi wskazywać na folder, który ma narzędzie memcheck i inne zależne biblioteki X skompilowane
źródło