我有一个我没有编写的 python 脚本,它利用了 vtk 模块。它适用于我的旧 iMac 和我的 Linux 机器。在安装了 OS X Mavericks 的 Macbook Pro 上尝试它,我在渲染过程中遇到了 seg 错误。我已经追踪到调用 vtkRender() 方法的错误,该方法导致脚本因 seg 错误 11 而崩溃。我真的不知道如何进一步找出错误的确切原因(例如,如何我使用 pdb 进入方法调用?),有什么想法吗?
一个最小的程序崩溃如下:
Enthought Canopy Python 2.7.3 | 64-bit | (default, Aug 8 2013, 05:37:06)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
>>> test = vtk.vtkRenderer()
>>> test.Render()
Segmentation fault: 11
更新:我在 VirtualBox 上安装了 Ubuntu,并在上面的示例中遇到了相同的 seg 错误,但是我使用 vtk 模块的 python 脚本工作得很好。
所以这似乎是使用 EPD 和 OS X Mavericks 提供的 VTK 包的问题。知道如何解决这个问题吗?我删除了 VTK 的所有痕迹并尝试从源代码安装,但在这种情况下我遇到了各种问题,只是让 VTK 导入。
更新:
通过在脚本中的 VTK 代码中添加一些额外的样板,我可以让它再次工作。确实非常奇怪的行为。在具有相同代码和库的 Ubuntu 中工作正常,但在 Mac OS X 上,除非我添加一些 .Initialize() 方法调用和其他方法调用到渲染对象,否则它会出现故障。