Wednesday, January 04, 2006

ns2 2.26 tcl compile error

Fedora Core 3 (gcc3.4.2):
1. compiling tclcl:
tclcl-mappings.h: In static member function `static int TclObjectHelper::dispatch_(void*, Tcl_Interp*, int, char**)':
tclcl-mappings.h:51: error: incomplete type `Tcl' used in nested name specifier
tclcl-mappings.h:52: error: invalid use of undefined type `struct Tcl'
tclcl-mappings.h:41: error: forward declaration of `struct Tcl'
tclcl-mappings.h:57: error: invalid use of undefined type `struct Tcl'
tclcl-mappings.h:41: error: forward declaration of `struct Tcl'
make: *** [Tcl.o] Error 1

[apply the following patch]
 #include "tclcl-config.h"
-#include "tclcl-mappings.h"
#include "tracedvar.h"
+// tclcl-mappings.h included below, AFTER definition of class Tcl

struct Tk_Window_;

@@ -158,6 +158,8 @@
Tcl_HashTable objs_;
};

+#include "tclcl-mappings.h"
+
class InstVar;

class TclObject {