3

Привет, так что я пытался Вальгринд на горного льва. Я следовал инструкциям на веб-странице valgrind:http://valgrind.org/docs/manual/dist.install.html

А также инструкции в этом блоге:http://prateekvjoshi.com/2013/02/27/how-to-install-valgrind-on-mac-os-x/

Но в любом случае я получаю те же ошибки, когда пытаюсь «сделать» или «сделать установку»:

make[3]: *** [libcoregrind_amd64_darwin_a-m_syscall.o] Error 1
make[2]: *** [install] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2

Кто-нибудь знает, что могут означать эти ошибки? Я не смог найти никакой помощи, даже в FAQ Вальгринда. Любая помощь будет отличной.


Кроме того, перед тем, как я упомянул выше, появилось еще несколько строк ошибок:

m_syscall.c:525:1: error: unknown type name '__private_extern__'
m_syscall.c:526:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'do_syscall_unix_WRK'
m_syscall.c:549:1: error: unknown type name '__private_extern__'
m_syscall.c:550:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'do_syscall_mach_WRK'
m_syscall.c: In function 'vgPlain_do_syscall':
m_syscall.c:703:10: warning: implicit declaration of function 'do_syscall_unix_WRK' [-Wimplicit-function-declaration]
m_syscall.c:708:10: warning: implicit declaration of function 'do_syscall_mach_WRK' [-Wimplicit-function-declaration]

1 ответ1

8

От: http://jeetworks.org/node/151: эта ошибка:

m_syscall.c:525:1: error: unknown type name '__private_extern__'
m_syscall.c:526:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'do_syscall_unix_WRK'
m_syscall.c:549:1: error: unknown type name '__private_extern__'
m_syscall.c:550:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'do_syscall_mach_WRK'
m_syscall.c: In function 'vgPlain_do_syscall':
m_syscall.c:703:10: warning: implicit declaration of function 'do_syscall_unix_WRK' [-Wimplicit-function-declaration]
m_syscall.c:708:10: warning: implicit declaration of function 'do_syscall_mach_WRK' [-Wimplicit-function-declaration]
make[3]: *** [libcoregrind_amd64_darwin_a-m_syscall.o] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Это можно исправить, добавив строку:

#define __private_extern__ extern

в следующие файлы:

  • coregrind/m_syscall.c
  • coregrind/m_syswrap/syswrap-darwin.c
  • coregrind/vg_preloaded.c

(Нашел это в Google: unknown type name '__private_extern__' valgrind)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .