C 构建VFML增量决策树分割故障

C 构建VFML增量决策树分割故障,c,debugging,C,Debugging,我正试图在Ubuntu 10.04上编译。它最初是使用GCC构建的,大约7年没有维护过,但它是增量决策树算法(VFDT)的唯一开源实现,所以我想对它进行评估 在修复了makefile和vfml/src/core/BeliefNet.c中的几个小错误之后,我能够编译它。但是,尝试在示例“香蕉”数据集(vfml/examples/c45interface/test.data)上运行vfdt或cvfdt二进制文件会导致分段错误 localhost:vfml$ vfdt -batch -f test S

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

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

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

我的C语言有点生疏,我已经有一段时间没有调试过这种错误了。有人能推荐修复这些旧代码的最佳方法吗?是使用GCC进行深入研究的唯一途径,还是有其他方法更新代码以使用现代版本的GCC?

修复旧代码的“最佳方法”是从已知的工作环境开始,并迁移到您想要的环境。从上一个发布日期开始查找流行的稳定发行版

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

使用适当的工具和库选项安装分发版。安装分发版后,请尝试构建源。如果你幸运的话,源代码就可以构建了。如果没有,则更新编译器和库,直到满足最小依赖项。从那个里开始,试着以合理的步骤更新一个组件(库或编译器),直到你们得到一个现代化的工具集。仔细跟踪上次成功构建的配置。这样,如果您失去了跟踪,您总是可以回到上次成功的状态。现在,这可能需要做很多工作,比您愿意做的还要多,但我试图回答您提出的问题,而不是鼓励您寻找一个更现代化或支持更好的库。祝你好运