Error in ns-2.32 : tk8.4.15 configuration failed! Exiting
I am trying to install ns-2.32 but I got the below error:
-------------------------------------------------------------------------- Build Tk8.4.15 make: * No rule to make target /home/administrator/ns-allinone-2.32/tk8.4.15/unix/Makefile.in', needed byMakefile'. Stop. loading cache ./config.cache checking for Tcl configuration... (cached) found /home/administrator/ns-allinone- .32/tcl8.4.15/unix/tclConfig.sh checking for existence of /home/administrator/ns-allinone-2.32/tcl8.4.15 /unix/tclConfig.sh... could not find /home/administrator/ns-allinone-2.32/tcl8.4.15/unix/tclConfig.sh checking for tclsh... (cached) No tclsh found on PATH checking for tclsh in Tcl build directory... /home/administrator/ns-allinone-2.32/tcl8.4.15/unix/tclsh configure: error: /home/administrator/ns-allinone-2.32/tcl8.4.15/unix/tclConfig.sh is for Tcl . Tk 8.4.15 needs Tcl 8.4. Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl 8.4. tk8.4.15 configuration failed! Exiting ... Tk is not part of the ns project. Please see www.Scriptics.com to see if they have a fix for your platform. -------------------------------------------------------------------------- This error had been disscused and solved on (http://www.linuxquestions.org/questi...ubuntu-821020/). The solution was: * installing gcc-4.3 (sudo apt-get install gcc-4.3) * Editing otcl-1.13/Makefile.in line 7 From : CC= @CC@ to :CC= gcc-4.3 But when I applied these two steps I got the below error: __________________________________________________________ Reading package lists... Done Building dependency tree Reading state information... Done Package gcc-4.3 is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'gcc-4.3' has no installation candidate ________________________________________________________________ How I can deal with this error? Notes: * I have Ubuntu 12.04 * gcc-4.6 is already installed |
Welcome to LQ.
Installing compilers gcc41 and g++41 into a 32bits Ubuntu 12** post #47 here .. http://www.linuxquestions.org/questi...532/page4.html Using : cd ns-allinone-2.32/ && export CC=gcc41 CXX=g++41 && ./install P.S.: gcc-4.3 was usable some years ago with old release versions of Ubuntu. - |
Quote:
Thanks dear Knudfl. I apply the command: sudo dpkg -i gcc41-compat-4.1.2-ubuntu1210_i386.deb g++41-compat-4.1.2_i386.deb But I got the below Error: --------------------------------------------------------------------------- dpkg: error processing gcc41-compat-4.1.2-ubuntu1210_i386.deb (--install): cannot access archive: No such file or directory dpkg: error processing g++41-compat-4.1.2_i386.deb (--install): cannot access archive: No such file or directory Errors were encountered while processing: gcc41-compat-4.1.2-ubuntu1210_i386.deb g++41-compat-4.1.2_i386.deb --------------------------------------------------------------------------- So, I installed gcc41 and g++41 from the below websites: https://docs.google.com/file/d/0B7S2...FQY2VJbjA/edit https://docs.google.com/file/d/0B7S2...jN2M2MGU4/edit Then, I save them in ns-allinone-2.32 directory. I repoot my PC then I apply the below commands: export CC=gcc41 CXX=g++41 ./install Again I got a new error: ============================================================ * Build tcl8.4.15 ============================================================ loading cache ./config.cache checking whether to use symlinks for manpages... no checking whether to compress the manpages... no checking whether to add a package name suffix for the manpages... no checking for gcc... gcc41 checking whether the C compiler (gcc41 ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. tcl8.4.15 configuration failed! Exiting ... Tcl is not part of the ns project. Please see www.Scriptics.com |
Quote:
$ sudo dpkg -i gcc41-compat-4.1.2-ubuntu1210_i386.deb g++41-compat-4.1.2_i386.deb *** Checking if a "command" is installed : $ which gcc *** And for gcc41 : $ which gcc41 ; $ dpkg -L gcc41-compat *** g++41 : $ which g++41 ; $ dpkg -L g++41-compat When you are sure that things are installed, then reboot. - |
Quote:
I run the command: sudo dpkg -i gcc41-compat-4.1.2-ubuntu1210_i386.deb g++41-compat-4.1.2_i386.deb and I got the below output: ------------------------------------------------------------------------------- (Reading database ... 170586 files and directories currently installed.) Preparing to replace gcc41-compat:i386 4.1.2-ubuntu1210 (using gcc41-compat-4.1.2-ubuntu1210_i386.deb) ... Unpacking replacement gcc41-compat:i386 ... Preparing to replace g++41-compat:i386 4.1.2 (using g++41-compat-4.1.2_i386.deb) ... Unpacking replacement g++41-compat:i386 ... Setting up gcc41-compat:i386 (4.1.2-ubuntu1210) ... Setting up g++41-compat:i386 (4.1.2) ... ------------------------------------------------------------------------------- I reboot and run: dpkg -L gcc41-compat-4.1.2-ubuntu1210_i386.deb and I got: Package `gcc41-compat-4.1.2-ubuntu1210_i386.deb' is not installed. Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. same thing for g++. Package `g++41-compat-4.1.2-ubuntu1210_i386.deb' is not installed. Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. |
# 6 .
Quote:
gcc41-compat-4.1.2-ubuntu1210_i386.deb, g++41-compat-4.1.2-ubuntu1210_i386.deb. Those are file names. Please read post #5 : $ dpkg -L gcc41-compat / $ dpkg -L g++41-compat And : $ which gcc41 / $ which g++41 Another way of checking package installs / package naming : $ ls -tl /var/lib/dpkg/info/ | grep list > last-packages.txt ... will save the text list, with the latest install in line 1. - |
Quote:
administrator@ubuntu:~/tmp/ns-allinone-2.32$ which gcc41 administrator@ubuntu:~/tmp/ns-allinone-2.32$ administrator@ubuntu:~/tmp/ns-allinone-2.32$ dpkg -L gcc41-compat Package `gcc41-compat' is not installed. Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. administrator@ubuntu:~/tmp/ns-allinone-2.32$ which g++41 administrator@ubuntu:~/tmp/ns-allinone-2.32$ administrator@ubuntu:~/tmp/ns-allinone-2.32$ dpkg -L g++41-compat Package `g++41-compat' is not installed. Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents. |
# 8 .
Quote:
""Setting up gcc41-compat:i386 (4.1.2-ubuntu1210) ... Setting up g++41-compat:i386 (4.1.2) ..."" Are you quite sure that you have a 32bits (i686) OS ? ? This command will tell : $ uname -m - |
Quote:
$ uname -m $ x86_64 |
# 9 .
Ns2 is for a 32bits (i686) Linux OS. The most versions of ns-allinone will though work on a 64bits (x86_64) OS. But with reduced functionality. ( Poor validation result.) Some of the extra protocols that you can add to ns-2.32 may also work. But first of all : The compilers for ns-allinone-2.32 must be 64bits. Suggest : 1) $ sudo apt-get install synaptic 2a) Start synaptic 2b) Find { gcc41-compat, g++41-compat } in synaptic and remove both. Or do : $ sudo apt-get remove gcc41-compat g++41-compat 64bits compilers for ns-allinone-2.32 : compat-gcc34-3.4.6-ubuntu1204-1_amd64.deb https://docs.google.com/file/d/0B7S2...it?usp=sharing and compat-gcc-34-c++_3.4.6-20_amd64.deb https://docs.google.com/file/d/0B7S2...it?usp=sharing - |
Quote:
OK. I applied all the above steps. I installed compat-gcc34-3.4.6-ubuntu1204-1_amd64.deb AND compat-gcc-34-c++_3.4.6-20_amd64.deb using sudo dpkg -i compat-gcc34-3.4.6-ubuntu1204-1_amd64.deb compat-gcc-34-c++_3.4.6-20_amd64.deb then, I reboot my PC, How I can run the export command? |
# 11 .
Quote:
1) cd ns-allinone-2.32/ 2) export CC=gcc34 CXX=g++34 && ./install |
Quote:
Thanks dear Knudfl, NS2 had been instaled successfully. When I reach to the last step, ./validate : I got set of Errors, as shown below: ----------------------------------------------------------------------------------------------------------------------------- *** ./test-all-simple Tests: tahoe1 tahoe1Bytes tahoe1RED tahoe1REDbytes tahoe2 tahoe3 tahoe3RED tahoe4 no_bug bug reno1 reno renoA reno2 reno3 reno4 reno4a reno5 reno5_nobug telnet delayed phase phase1 phase2 timers manyflows stats statsECN stats1 stats1Bytes stats1a stats1aBytes statsHeaders stats2 stats3 stats4 statsTFRC Running test tahoe1: ../../ns test-suite-simple.tcl tahoe1 QUIET wrong # args: should be "_o4 self class proc n1 n2 bw delay res type args" (Simulator duplex-link line 1) invoked from within "$ns duplex-link $node_(s1) $node_(r1) 8Mb 5ms DropTail" (procedure "_o11" line 4) (Topology/net0 init line 4) invoked from within "_o11 init _o4" (Class create line 1) invoked from within "Topology/net0 create _o11 _o4" invoked from within "catch "$className create $o $args" msg" invoked from within "if [catch "$className create $o $args" msg] { if [string match "__FAILED_SHADOW_OBJECT_" $msg] { delete $o return "" } global errorInfo error "class $..." (procedure "new" line 3) invoked from within "new Topology/$net_ $ns_" (procedure "_o3" line 15) (Object next line 15) invoked from within "$self next" (procedure "_o3" line 8) (Test/tahoe1 init line 8) invoked from within "_o3 init {}" (Class create line 1) invoked from within "Test/tahoe1 create _o3 {}" invoked from within "catch "$className create $o $args" msg" invoked from within "if [catch "$className create $o $args" msg] { if [string match "__FAILED_SHADOW_OBJECT_" $msg] { delete $o return "" } global errorInfo error "class $..." (procedure "new" line 3) invoked from within "new Test/$test $topo" (procedure "TestSuite" line 40) (TestSuite runTest line 40) invoked from within "TestSuite runTest" (file "test-suite-simple.tcl" line 1824) Test output differs from reference output Diagnose with: diff test-output-simple/tahoe1.test test-output-simple/tahoe1 Or see URL "http://www.isi.edu/nsnam/ns/ns-problems.html". ^XRunning test tahoe1Bytes: ../../ns test-suite-simple.tcl tahoe1Bytes QUIET wrong # args: should be "_o4 self class proc n1 n2 bw delay res type args" (Simulator duplex-link line 1) invoked from within "$ns duplex-link $node_(s1) $node_(r1) 8Mb 5ms DropTail" (procedure "_o11" line 4) (Topology/net0 init line 4) invoked from within "_o11 init _o4" (Class create line 1) invoked from within "Topology/net0 create _o11 _o4" invoked from within "catch "$className create $o $args" msg" invoked from within "if [catch "$className create $o $args" msg] { if [string match "__FAILED_SHADOW_OBJECT_" $msg] { delete $o return "" } . . . What is the problem? |
# 13 .
Please see post #10 : "Ns2 is for a 32bits (i686) Linux OS. The most versions of ns-allinone will though work on a 64bits (x86_64) OS. But with reduced functionality. ( Poor validation result.)" ... So a 32bits OS would provide a better 'validate' result. But : The simulations you want to do may work OK. If they don't work : Use a 32bits OS, e.g. Ubuntu 12.04 . - |
Quote:
I download ubuntu 12.04 (32-bit) from: http://www.ubuntu.com/download/desktop But, when I installed it I am still getting the same result: ~$ uname -m x86_64 advise please. |
All times are GMT -5. The time now is 06:56 AM. |