与gfortran的free_pi_tree错误

时间:2013-04-14 22:48:18

标签: gcc fortran gfortran

当我尝试编译一些我正在编写的代码时,我遇到了一个奇怪的错误。我有几个用于线性代数计算的Fortran模块;我不想让应用程序必须使用它们,所以我在它们周围编写了一个包装器模块:

module linear_algebra_mod
    use sparse_matrix_mod
    use csr_matrix_mod
    (etc.)

以便最终用户可以编写use linear_algebra_mod来获取所有这些内容。但是,编译线性代数模块时出现以下错误:

gfortran -c sparse_matrix_mod.f90
gfortran -c csr_matrix_mod.f90
gfortran -c linear_algebra_mod.f90
linear_algebra_mod.f90:5.8:

use csr_matrix_mod
    1
Internal Error at (1):
free_pi_tree(): Unresolved fixup

这是在错误报告herehere中提出的,但我无法从那些我应该做的事情中收集到。

当我首先使用csr_matrix模块时,更进一步地混淆水域,如下所示:

module linear_algebra_mod
    use csr_matrix_mod
    use sparse_matrix_mod

错误消失。

如果此背景信息有用:sparse_matrix模块定义csr_matrix模块扩展并实际实现的抽象数据类型。

1 个答案:

答案 0 :(得分:2)

内部编译器错误始终表示编译器中存在错误。检查您是否有最新版本的编译器,如果有,请提交错误报告(您可以查看open bugs部分,看看是否已经有人报告过,但最好是报告错误两次,而不是报告一次,所以不要过于担心可能会提交重复的错误报告。)