使用gcc 3.4.5编译TCL 7.6.2

时间:2011-06-08 22:09:33

标签: gcc compilation tcl

我正在使用gcc 3.4.5编译TCL 7.6p2。我使用的是CentOS 5.5。我在make命令中遇到以下错误:

./../generic/tclPosixStr.c: In function `Tcl_ErrnoId':
./../generic/tclPosixStr.c:340: error: duplicate case value
./../generic/tclPosixStr.c:328: error: previously used here
./../generic/tclPosixStr.c: In function `Tcl_ErrnoMsg':
./../generic/tclPosixStr.c:787: error: duplicate case value
./../generic/tclPosixStr.c:775: error: previously used here
make: *** [tclPosixStr.o] Error 1

任何提示都将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

您尝试使用多年未获得支持的 古代 版本。因此,您最好的方法是破解源代码,以便从那些switch语句中注释掉有问题的案例。 或切换到有人可能会支持的事情(但这是你的电话)。

详细说明:看来EOPNOTSUPP与ENOTSUP的值相同;将与EOPNOTSUPP关联的三行(或至少包含case的行;或周围的#ifdef机器无关)注释掉,以使问题消失。或者您可以向后移动所有非antediluvian版本中存在的更改,即改进#ifdef行到此:

#if defined(EOPNOTSUPP) &&  (!defined(ENOTSUP) || (ENOTSUP != EOPNOTSUPP))

尽管如此,不要将此报告为错误。 不支持Tcl 7.6p2。