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

Re: build two vesions of ns



On Thu, 25 Mar 1999, John Heidemann wrote:

> On Tue, 23 Mar 1999 23:15:09 GMT, Lloyd Wood wrote: 
> >On Tue, 23 Mar 1999, Sarah Liu wrote:
> >
> >> I just wonder if it is possible to set up two versions of ns in one machine(
> >> we could connect to two servers.) such as ns-2.0 and ns-2.1. 
> >
> >Parallel ns directories are easily done; I've had multiple ns
> >snapshots installed in renamed ns-2 trees alongside recent beta
> >versions of ns-2 this way, usually running off the same versions of
> >Tcl/Tk/otcl/tclcl which are built in the same directory. Eats disk
> >space, though. 
> 
> 
> The ns executable should be self-contained (including all the internal
> tcl code needed to run a simulation).  You should be able to build ns,
> save the executable, and throw away the rest.

Well, this begs the question: do you throw away the rest of the old
tree, and be faced with scripts that may not run on the old binary, or
do you throw away the new tree, and be faced with functionality that
you can't access? (and possibly scripts that may not run on the new
binary, too? never mind changes in validate scripts...) 

Of course, old habits die hard; I should be really be relying on the
cvsweb more for these cases:

http://www-mash.cs.berkeley.edu/cgi-bin/cvsweb/

Even on Solaris, where I've been known to throw in extra -ldl's for
good measure, and dynamic linking is the #1 FAQ (I don't think I've
ever managed to build ns completely statically) the dynamic libraries
are thankfully not ns-related:

> ldd ns
        libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
        libX11.so.4 =>   /usr/openwin/lib/libX11.so.4
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libm.so.1 =>     /usr/lib/libm.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libw.so.1 =>     /usr/lib/libw.so.1
        libintl.so.1 =>  /usr/lib/libintl.so.1

cheers,

L.


> If you're using shared libraries, you'll need to be careful to keep
> the right versions around (ldd will tell you what you need).
> 
> Note that the ns executable doesn't include "all" of ns.  External
> pieces like the scenario generator, gt-itm, the validation programs,
> etc. are separate.
> 
>    -John
> 

<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>