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

ns 2.1b2 for Solaris - build fails



We're attempting to build ns 2.1b2 on Solaris 2.4/2.51 boxes here, and
are as yet unsuccessful. Can anyone provide pointers? 

We're having major problems with the configure stage. Compiling either
statically or dynamically, release sans debugging options,
ns-2.1b2/configure reports:

  checking for main in -ldl... (cached) no
  no dynamic load lib

resulting in the make eventually failing at

   c++ -static  -o ns \[lots of object files named here, including
    win32.o of all things..]
   [sensible compile options, correct paths to dependencies for tclcl
    perl etc, sensible -R -L -l options] -R/usr/openwin/lib
   -L/usr/openwin/lib -lXext -lX11  -ldl -lm

ld: fatal: library -ldl: not found

which is puzzling, since -ldl is liberally scattered throughout the
makefile, and the libraries are all in /usr/lib as you'd expect. 

There's no conf subdirectory in the 2.1b2 distribution I fetched
(2371603 bytes tarred and gzipped archive, btw, on the offchance
there's been a change of archive meantime), which is rather odd and
adds to the difficulty. 


Also noted in passing fyi:

If, as Padma says at end of the release announcement, ns 2.1b2
explicitly requires tclcl 1.0b5, why does the configure file still
look for:

TclCL_VERS=1.0b3
TclCL_ALT_VERS=1.0

?


Flagged warnings seen before the make fails on the dynamic load
problem discussed above:

tcp-session.cc: In method `class IntTcpAgent * TcpSessionAgent::who_to_snd(int)':
tcp-session.cc:308: warning: implicit declaration of function `int
random(...)'


red.cc: In method `void REDQueue::trace(class TracedVar *)':
red.cc:491: warning: assignment to `char *' from `const char *'
discards const
red.cc:492: warning: assignment to `char *' from `const char *'
discards const
red.cc:493: warning: assignment to `char *' from `const char *'
discards const
 

also noted:

win32.c:269: unterminated string or character constant
*** Error code 1
make: Fatal error: Command failed for target `win32.o'

simple c/c++ confusion - gcc 2.70 simply doesn't like the c++ comment
there;  we're not quite sure why configure wants to compile the win32
parts on this Solaris box, or why gcc gets to do it.

Clues, anyone?

thanks,

L.

<[email protected]>PGP<http://www.sat-net.com/L.Wood/>+44-1483-300800x3641