Hello,

I am quite new to ns and for a specific project I am doing my best to
install the Is-Is module on ns-2.33(the latest version).
Since the code has been written for ns-2.1b8a I manually patched
Makefile/Makefile.in, dynalink.cc, etc. Everything great.

But still, the module has a problem with my gcc 4.1.2 compiler on
CentOS. It uses C++ template classes and it seems that the code needs to
be fully adapted in order to work.
I am posting the error message I got:

g++ -c -Wall  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR
-DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H
-DHAVE_LIBOTCL1_13 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H
-DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION
-DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test
-I. -I. -I/usr/src/ns-allinone-2.33/tclcl-1.19
-I/usr/src/ns-allinone-2.33/otcl -I/usr/src/ns-allinone-2.33/include
-I/usr/src/ns-allinone-2.33/include -I/usr/include/pcap -I./tcp -I./sctp
-I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile
-I./trace -I./routing -I./tools -I./classifier -I./mcast
-I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr
-I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs
-I./diffserv -I./satellite -I./wpan -o link/dynalink.o link/dynalink.cc
In file included from
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/backw
ard/fstream.h:31,
                 from ./isis/manager.h:31,
                 from ./isis/lspmanager.h:26,
                 from link/dynalink.cc:57:
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/backw
ard/backward_warning.h:32:2: warning: #warning This file includes at
least one deprecated or antiquated header. Please consider using one of
the 32 headers found in section 17.4.1.2 of the C++ standard. Examples
include substituting the <X> header for the <X.h> header for C++
includes, or <iostream> instead of the deprecated header <iostream.h>.
To disable this warning use -Wno-deprecated.
./isis/stlext.h:35: error: expected template-name before '<' token
./isis/stlext.h:35: error: expected `{' before '<' token
./isis/stlext.h:35: error: expected unqualified-id before '<' token
./isis/stlext.h:53: error: expected template-name before '<' token
./isis/stlext.h:53: error: expected `{' before '<' token
./isis/stlext.h:53: error: expected unqualified-id before '<' token
./isis/stlext.h:74: error: expected template-name before '<' token
./isis/stlext.h:74: error: expected `{' before '<' token
./isis/stlext.h:74: error: expected unqualified-id before '<' token
./isis/stlext.h:117: error: invalid use of undefined type 'class
ISISList<int>'
./isis/stlext.h:53: error: declaration of 'class ISISList<int>'
./isis/stlext.h: In constructor 'IntList::IntList(char*, const char*)':
./isis/stlext.h:120: error: type 'ISISList<int>' is not a direct base of
'IntList'
./isis/stlext.h:123: error: 'push_back' was not declared in this scope
./isis/stlext.h: In member function 'void isiserr::warn(char*)':
./isis/stlext.h:135: error: 'cerr' was not declared in this scope
./isis/stlext.h:135: error: 'endl' was not declared in this scope
./isis/stlext.h: In member function 'void isiserr::err(char*)':
./isis/stlext.h:138: error: 'cerr' was not declared in this scope
./isis/stlext.h:138: error: 'endl' was not declared in this scope
./isis/cpuqueue.h: At global scope:
./isis/cpuqueue.h:38: error: ISO C++ forbids declaration of 'queue' with
no type
./isis/cpuqueue.h:38: error: expected ';' before '<' token
./isis/manager.h:42: error: field 'areaIds' has incomplete type
./isis/manager.h:52: error: field 'SRMflags' has incomplete type
./isis/manager.h:53: error: field 'SSNflags' has incomplete type
./isis/manager.h:59: warning: 'class ISISNode' has virtual functions but
non-virtual destructor
./isis/manager.h:99: warning: 'class Manager' has virtual functions but
non-virtual destructor
./isis/lspmanager.h:157: error: aggregate 'ISISMap<u_char*, bool>
inSendersDb' has incomplete type and cannot be defined
./isis/lspmanager.h:158: error: aggregate 'ISISMap<u_char*, int>
counter' has incomplete type and cannot be defined
./isis/lspmanager.h:159: error: aggregate 'ISISList<u_char*> lista' has
incomplete type and cannot be defined
./isis/lspmanager.h:208: error: field 'circuitIds' has incomplete type
./isis/lspmanager.h:211: error: field 'adjacencies' has incomplete type
./isis/lspmanager.h:212: error: field 'l1ips' has incomplete type
./isis/lspmanager.h:221: error: field 'lspThrottleTimers' has incomplete
type
./isis/lspmanager.h:222: error: field 'psnpIntervalTimers' has
incomplete type
./isis/lspmanager.h:227: error: field 'lspInfos' has incomplete type
./isis/lspmanager.h:228: error: field 'lspDb' has incomplete type
./isis/lspmanager.h:173: warning: 'class LspManager' has virtual
functions but non-virtual destructor
./isis/lspmanager.h: In member function 'ISISMap<LspId, LspRecord*>*
LspManager::getLspDb()':
./isis/lspmanager.h:196: error: 'lspDb' was not declared in this scope
./isis/lspmanager.h: At global scope:
./isis/lspmanager.h:116: warning: inline function 'virtual void
LspDelayTimer::expire(Event*)' used but never defined
./isis/lspmanager.h:104: warning: inline function 'virtual void
MinLspGenerationTimer::expire(Event*)' used but never defined
./isis/lspmanager.h:90: warning: inline function 'virtual void
MaxLspGenerationTimer::expire(Event*)' used but never defined
./isis/lspmanager.h:59: warning: inline function 'virtual void
MinLspTransmissionTimer::expire(Event*)' used but never defined
./isis/lspmanager.h:46: warning: inline function 'virtual void
SPFdelayTimer::expire(Event*)' used but never defined
./isis/lspmanager.h:157: warning: 'inSendersDb' defined but not used
./isis/lspmanager.h:158: warning: 'counter' defined but not used
./isis/lspmanager.h:159: warning: 'lista' defined but not used


Anyone knows if there is a trick to solve this problem? My researches
till now gave me no obvious solution.
I am thinking more and more of downgrading my compiler, but then will my
ns work properly?

Thank you,
Ovidiu MUL

Reply via email to