构建VFML增量决策树分段故障

时间:2011-04-11 18:50:45

标签: c debugging

我正在尝试在Ubuntu 10.04上编译VFML toolkit。它最初是使用GCC构建的,并且在大约7年内没有维护,但它是增量决策树算法(VFDT)的唯一开源实现,所以我想对它进行评估。

在修复了makefile和vfml / src / core / BeliefNet.c中的几个小错误之后,我就能编译它了。但是,尝试在示例“banana”数据集(vfml / examples / c45interface / test.data)上运行vfdtcvfdt二进制文件会导致分段错误。

localhost:vfml$ vfdt -batch -f test
Segmentation fault

我的C有点生疏,自从我调试了这些错误以来已经有一段时间了。任何人都可以推荐修复这些旧代码的最佳方法吗?是使用gdb挖掘它的唯一途径还是有其他方法来更新代码以使用现代版本的GCC?

1 个答案:

答案 0 :(得分:1)

修复旧代码的“最佳方法”是从已知的工作环境开始,然后迁移到所需的环境。从上次发布日期查找受欢迎的稳定版本。

如果最后一个版本是2003年7月,请尝试使用Red Hat Linux 9(shrike-i386-disc1.iso,shrike-i386-disc2.iso,shrike-i386-disc3.iso)。

使用适当的工具和库选项安装发行版。安装分发版后,尝试构建源代码。如果你很幸运,源代码将会构建。如果没有,请更新编译器和库,直到满足最小依赖关系。从那里尝试以合理的大小步骤更新一个组件(库或编译器),直到您到达现代工具集。仔细跟踪成功构建的最后一个配置。这样,如果您松开轨道,您可以始终返回上一个成功状态。现在这可能是很多工作,比你愿意做的更多,但我试图回答问题,而不是鼓励你寻找更现代或更好的支持库。祝你好运!