it-swarm-ja.com

OSX10.8でのValgrindのインストールエラー

こんにちは。マウンテンライオンでValgrindを試してみました。 valgrindのWebページの指示に従いました: http://valgrind.org/docs/manual/dist.install.html

このブログの説明と同様に: http://prateekvjoshi.com/2013/02/27/how-to-install-valgrind-on-mac-os-x/

しかし、どちらの場合でも、「make」または「make install」を実行しようとすると、同じエラーが発生します。

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

これらのエラーが何を意味するのか誰かが知っていますか? valgrindの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]
4
kamatama

差出人: 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

(グーグルによってこれを見つけました:unknown type name '__private_extern__' valgrind

9
ckhan