我有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的兼容性还是其他原因?感谢。
答案 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上完全运行,并且它可能无法像预期的那样捕获所有内容。