[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Red Hat 5.1 build problems solved (was RE: RH5.1 Tcl build problems?)



Okay, I have solved the build problem(s) under RH5.1.  Here are some rough
notes (mostly from memory since I left the details on my machine at home),
hopefully enough to help.  I intend to try this from scratch again at some
point to make sure I've got everything.

> -----Original Message-----
> From:	Jose Miguel-Alonso [SMTP:[email protected]]
> Sent:	Tuesday, June 23, 1998 5:40 AM
> To:	[email protected]
> Subject:	RH5.1 Tcl build problems?
> 
> Dear Sir,
> 
> I've seen your message in the ns users distribution list reporting a
> problem when installing ns-allinone in Linux Red Hat 5.1
> 
> ===
> Has anyone installed the ns-allinone kit from scratch on Red Hat 5.1?
> Did
> you have any trouble?
> 
> Under RH5.1, egcs 1.0.2, I get this:
> 
> c++ -c -I. -I../otcl -I../tkbox/include -I../tclbox/include -DNO_TK 
> -DUSE_SHM -DHAVE_LIBOTCL0_96 -DHAVE_OTCL_H -DHAVE_LIBTK8_0 -DHAVE_TK_H 
> -DHAVE_LIBTCL8_0 -DHAVE_TCL_H -O2 -o Tcl.o Tcl.cc
> tclcl-mappings.h: In function `static int
> TclObjectHelper<T>::dispatch_(void *, 
> struct Tcl_Interp *, int, char **)':
> In file included from tclcl.h:47,
> from Tcl.cc:50:
> tclcl-mappings.h:51: parse error before `::'
> 
> ===
> 
> I have exactly the same problem. However, I have not been able to find
> the solution. I wonder if somebody answered you, and you can share that
> information with me.
> 
	This particular problem occurs because egcs is more strict about
typing and declarations than older versions of gcc.  In "tclcl-mappings.h",
class Tcl is undeclared but used in older versions of TclCL, *including* the
version in the 2.1b2 ns-allinone.  The newest versions of TclCL don't have
this problem.

	The solution is to replace TclCL with the daily snapshot reachable
from the ns installation page.

	I encountered a similar error when building ns, and replacing 2.1b2
with the most recent daily snapshot corrected the problem.

	On Kannan's advice, I added

	--enable-devel --enable-debug

	to my .configure file for all of the components, and things seem to
work better --  I suspect the reason the main developers haven't seen the
problems I'm reporting is that they always devel and debug set.

	nam also didn't want to build properly, but I'm not convinced that
it's not my fault.  A little tinkering with install script to build it
--disable-load solved the problem; it was unable to properly link against
the "dl" library.

	I'll try to try this again from scratch sometime soon and write this
up a little more carefully.  Meantime, summary:

	* start from 2.1b2 ns-allinone
	* replace TclCL with its current daily snapshot
	* replace ns with its current daily snapshot
	If that doesn't completely solve the problems,
	* create .configure with --enable-devel and --enable-debug
	* edit install to configure nam with --disable-load

	Seems to me it's time for a new ns-allinone, if ns and TclCL are
stable enough...

	Hope this helps,

			--Rod