Valgrind在安装时失败 - make

时间:2017-03-18 20:59:31

标签: macos makefile valgrind

我有Mac OS X Sierra 10.12.3,我知道Valgrind可能与我的系统不兼容。我成功运行了automake和svn,但是当我尝试运行 make 时,它说:

priv/ir_opt.c:5930:14: error: explicitly assigning value of variable of type 'Int' (aka 'int') to itself [-Werror,-Wself-assign]
  for (m = m; m < A_NENV; m++) {

有人知道这是因为与Mac OS的兼容性还是其他原因?感谢。

2 个答案:

答案 0 :(得分:0)

正如Jens建议的那样,我发现npm install react(对于有相同问题的人请注意:要小心,因为有几个ir_opt.c个文件,您需要编辑ir_opt.c中的文件})并将VEX/priv/ir_opt.c更改为m = m,因为变量m = 0在上面几行被声明为0。

答案 1 :(得分:0)

Valgrind将无法在MacOS X Sierra上运行,我已经尝试了一段时间。

我知道你是用SVN安装的,所以我也是,我从来没有碰到你遇到的这个错误。但是如果你实际运行valgrind --tool=memcheck --leak-check=full -v ./<program>,你会发现自己遇到了错误。

从我所读到的,这是由OS X源代码中的某些内容导致的,valgrind的开发人员无法对其软件进行修改,因为OS X导致错误的部分是在许可下和闭源。或者直到最近,他们还没有更新自己的源代码,或类似的东西。

无论如何,如果你想在OS X上使用valgrind,你必须安装一个带有linux的虚拟机。我正在使用带有lubuntu的VirtualBox,并且我正在将我的主文件夹共享到VM,并且我没有遇到任何运行memcheck的问题。任何发行版应该没问题,但IMO越轻越好。

如果由于某种原因它确实对你有valgrind memchecks,那么我猜你很幸运。我仍然建议您切换到使用Linux VM,因为无法保证valgrind将在OS X上完全运行,并且它可能无法像预期的那样捕获所有内容。