2009年2月27日 星期五

Homework 0

作業已繳交名單 (3/14 13:00):

b95901147
b95901002
b95901082
b94401007
b94901152
b95901042
b95901113
b94502045
b92901012
b95901084
b95901123
b94901164
d93521023
b94901143
b94901066
b95901131
b95901082
b95901143
b94502094
b95901120
b95901051
b94901145
b95901021
b94502045
b95901104
b95901169
b94505026
b95901146
b94901064
b94901170
b94901053
b94901136
b94901155
b97207037
b95901071

3/2: 修正18頁的錯誤
3/3: 增加教授給的Tips
3/10: 增加cygwin下ld錯誤的修正法!


是的,在選課將告結束,大家快要跑不掉的時候,我們推出了第一個作業!大家別慌,別擔心,這次的作業十分和善沒有殺氣,符合我們課堂之下一片和諧的基本原則。只要早點開始做的話,大家一定可以輕鬆完成這次的作業。

本次作業的死線為3/13 13:00
繳交方式為email,請寄至tomkywang+introwmn@gmail.com

投影片請點此下載

如對本次作業有任何疑問,可在意見區留言,我們會儘快回覆。

Tips from instructor:


Cygwin Components needed by NS-2:

diffutils, gcc, gcc-g++, gawk, tar, gzip, make, patch, perl, and w32api
If you want to run NAM graphical interface
Xfree86 (packages XFree86-base, XFree86-bin, XFree86-prog, XFree86-lib, and XFree86-etc)
OR
X.org (packages xorg-x11-bin, xorg-x11-bin-dlls, xorg-x11-devel, xorg-x11-libs-data, and xorg-x11-etc)

Q: .bashrc is not loaded

(A1) 讓shell重新讀取.bashrc
source .bashrc
(A2) bash should automatically load .bashrc in your home directory
bash

Q: check if library path is set correctly

A:

env | grep LD_LIBRARY_PATH
env | grep TCL_LIBRARY
來確認你是否有成功設定環境變數

=========================
Reference for Unix C Shell Script (bash)

http://en.wikipedia.org/wiki/Bash
You can find some links to tutorial on the wiki page

Tips from TA:
請記得最後將Install所提供的PATH, Library等路徑加到家目錄下的.bashrc或.bash_profile裡,如果這兩個檔案不存在的話,請自行建立一個(可參考Brian同學的回應)

另外,Cygwin路徑不可以有中文或空白出現,所以Windows使用者名稱為中文或含空白的,建議先新創一個英文使用者後再安裝Cygwin使用。

Q: NS2-2.33在Cygwin下執行nam時出現以下錯誤訊息:
[code omitted because of length]
: no event type or button # or keysym
while executing
"bind Listbox lt;MouseWheelgt; {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox lt;MouseWheelgt; {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."

A:根據網路上的說法,這是tcl/tk 和 x11-proto/xproto-7.0.13 不相容的緣故。

解決辦法為下載這個patch(點選後另存新檔),將其置於ns-allinone-2.33資料夾下,並在同一資料夾內執行

patch -p0 < tk-8.4.18-tkBind.patchQ:install時遇到下列錯誤訊息:
cannot find -ldlcollect2: ld
returned 1 exit status
make: *** [ns] Error 1
Ns make failed!


A:請輸入這行指令
ln -s libcygwin.a /usr/lib/libdl.a
再重新install即可

74 則留言:

  1. 請問cygwin安裝ns2需要哪些package?
    install時跳出要patch,我就裝了patch
    重跑又跳出X,我就再裝X

    請問能不能把完整安裝所需的package列出
    感謝

    回覆刪除
  2. 這麼早就開始寫作業,真是有幹勁!
    不過,投影片11頁就有你所需要的套件清單囉,請再仔細研究一下:)

    回覆刪除
  3. 安裝ns-allinone-2.33
    跑出一堆文字
    然後開始checking什麼blabla的
    到了
    checking signed char declarations...
    這一行
    就停住了!!快一個小時了
    不過感覺電腦有在跑東西所以有點慢

    這樣正常嗎?

    回覆刪除
  4. ...不正常 @@
    先確認一下,你是在哪個linux系統下安裝的?

    回覆刪除
  5. cygwin_setup.exe
    沒有xorg-x11-blablabla
    一個都沒有啊~

    也沒有xorg-startup-script

    結果安裝又abort了

    回覆刪除
  6. X系列都在X11 Category裡喔~(也就是選Packages畫面時捲軸拉到最下面的那一個)

    回覆刪除
  7. 我是3樓
    經過了一個多小時終於動了

    繼續再跑
    不過一堆空白= =?

    希望會成功
    研究超久

    回覆刪除
  8. 按完./ns.exe
    跑出%

    表示環境設定有誤?
    怎麼設定阿

    網頁教說要複製.bashrc
    複製哪裡的?

    回覆刪除
  9. 不 這表示你安裝成功囉 XD
    可以試著照老師上課的示範執行example2.tcl看看:)

    回覆刪除
  10. 要用哪個指令開啟example2.tcl啊?

    ns example2.tcl 嗎?不行耶

    example2.tcl要放在哪?

    想破頭想不起老師上課的示範

    回覆刪除
  11. 助教,請問在bash_profile裡面貼這樣對嗎?
    我的ns example2.tcl一直是command not found

    export PATH=$PATH:/home/Brian/ns-allinone-2.33/bin:/home/Brian/ns-allinone-2.33/tcl8.4.18/unix:/home/Brian/ns-allinone-2.33/tk8.4.18/unix

    export LD_LIBRARY_PATH=/home/Brian/ns-allinone-2.33/otcl-1.13:/home/Brian/ns-allinone-2.33/lib

    export TCL_LIBRARY=/home/Brian/ns-allinone-2.33/tcl8.4.18/library

    回覆刪除
  12. 歐 可以用了,問題出在bash_profile改完後要再重新登入cygwin才能生效

    回覆刪除
  13. 恭喜Biran寫出正確做法囉:)

    回覆刪除
  14. 要在哪裡寫那些東西??

    回覆刪除
  15. 在家目錄(也就是進入終端機模式後所在的目錄)裡,有隱藏的.bashrc或.bash_profile 修改這個就可以囉!

    回覆刪除
  16. 我的cygwin只有在C:\cygwin\etc\skel有.bashrc耶
    改那個可以嗎

    回覆刪除
  17. 那建議你直接在家目錄下建一個新的.bashrc文字檔看看~
    只要把Install最後顯示的內容加進那個文字檔即可

    回覆刪除
  18. 講義18頁是不是故意寫錯?

    回覆刪除
  19. ....如果我說是,你相信嗎? XD

    修正的投影片已上線,噓,不要跟別人說喔

    回覆刪除
  20. 請問是要交.nam還是.tr
    投影片寫.nam
    可是課堂上老師的意思好像是.tr比較重要?

    回覆刪除
  21. 原來要關掉重來,才能進去XWin呀

    我試著不匿名了,但是都失敗

    那個trace file 就是那個三角線的圖檔嗎
    是用save layout去存嗎

    回覆刪除
  22. 投影片上...哪裡寫nam @@??
    是交.tr檔喔,請不要搞錯 XD

    另外 我想不是那個圖檔喔...
    請依照老師上課的示範修改tcl script來輸出.tr檔:)

    回覆刪除
  23. Submit by email
    – tomkywang+introwmn@gmail.com
    – Title: [HW#0] b94xxxxx
    • Trace file : b94xxxxx_hw0.nam
    • Report file: b94xxxxx_hw0.txt
    這個

    回覆刪除
  24. 這個....也許是舊版的投影片(奇怪怎麼會流出去 @@)
    現在網站上的投影片和老師上課的一樣,都是要.tr檔喔!

    回覆刪除
  25. 助教,我用cygwine灌Ns2的時候出現以下訊息:

    collect2: ld returned 1 exit status
    make: *** [ns] Error 1
    Ns make failed!

    請問一下是什麼地方出了問題呢?

    回覆刪除
  26. 這....你寫這樣我是沒辦法跟你說有什麼問題的@@
    不過可以建議你先依我們給的提示檢查喔!(ex. cygwin路徑, packages)

    回覆刪除
  27. 可不可以乾脆裝個ubuntu來跑阿..
    懶的裝cygwin

    回覆刪除
  28. 我的nam好像不能跑~~
    他會出現下面的訊息:
    ns: finish: couldn't execute "nam": no such file or directory while executing "exec nam out.nam &"
    < procedure "finish" line 7 >
    invorked from within "finish"

    回覆刪除
  29. 我可以用ubuntu跑
    一開始有些困難
    把錯誤訊息google一下就可解決

    回覆刪除
  30. 我執行的結果是這樣,請問出了什麼問題


    bash: $'\r': command not found
    bash: $'\r': command not found


    $ cd ns-allinone-2.33

    $ cd ns-2.33

    $ ./ns.exe
    % ./example2.tcl
    ./example2.tcl: line 5: color: command not found
    ./example2.tcl: line 6: coolor: command not found
    ./example2.tcl: line 10: namtrace-all: command not found
    ./example2.tcl: line 13: proc: command not found
    ./example2.tcl: line 14: global: command not found
    ./example2.tcl: line 15: flush-trace: command not found
    ./example2.tcl: line 17: close: command not found
    % ./example2.tcl: line 19: exec: nam: not found

    回覆刪除
  31. 這位同學...你的執行方法有點酷炫

    指令是ns example2.tcl才對!!

    回覆刪除
  32. bash: $'\r': command not found
    bash: $'\r': command not found

    是什麼情形阿
    裝了.bashrc之後開啟cygwin就出現這個訊息
    有辦法去掉嗎

    回覆刪除
  33. 助教,ns2是要貼在哪個目錄之下,我找不到自己的目錄

    回覆刪除
  34. bash: $'\r': command not found
    是要下載一個叫dos2unix的東西
    把.bashrc轉成unix的樣子

    回覆刪除
  35. 我在安裝cygwin時,還是看不到這些packages, X.org (packages xorg-x11-bin, xorg-x11-bin-dlls, xorg-x11-devel, xorg-x11-libs-data, and xorg-x11-etc)

    回覆刪除
  36. 這幾個是要打勾obsolete後才會看到的package (在_obsolete裡) 不過現在Cygwin推薦用的是XFree86 請使用這個系列...XD

    回覆刪除
  37. 提供剛剛debug的經驗 產生.tr檔的時候會用到
    就是
    set nf [open out.nam w]這行
    "nf"和"[" 之間一定要有空格
    不然會無法跑
    就這樣
    希望不要有人跟我一樣在這上面浪費時間~

    回覆刪除
  38. 助教,我捉下來的ns-allinone-2.33.tar.gz中好像找不到ns-tutorial這個目錄

    回覆刪除
  39. 在2.33這個部分被移除了,請參閱網站的版本:
    http://isi.edu/nsnam/ns/tutorial/index.html

    回覆刪除
  40. 助教,那個home的目錄是要自己設的嗎

    回覆刪除
  41. 助教,我用cygwine灌Ns2的時候出現以下訊息:

    cannot find -ldl
    collect2: ld returned 1 exit status
    make: *** [ns] Error 1
    Ns make failed!

    請問一下是什麼地方出了問題呢?

    回覆刪除
  42. 助教,它說找不找tcl是怎麼回是ㄚ

    回覆刪除
  43. 我也想知道樓上兩位的問題要怎麼解決...
    但我連你們的問題是啥都看不出來 = =
    請給點"完整"的資訊 如果無法用留言的就請使用email~

    BTW 如果發現助教沒有理你 那表示答案就在這一頁的某處喔 :P

    回覆刪除
  44. 樓樓樓上的問題好像有看過
    可以灌舊版一點的NS2試試看

    回覆刪除
  45. 怎麼將.nam換成.tr呀

    回覆刪除
  46. 我想請問各位同學,有沒有人在Vista作業系統上灌Cygwin+ns2有成功的人呢?

    因為我在Vista上要灌Cygwin+ns2一直不成功,有點崩潰(orzzzz)

    請有成功的人說一下,給點鼓勵吧!或者分享一下在Vista上灌發生什麼問題....又是如何解決的呢?

    感激不盡

    快崩潰人 拜謝

    回覆刪除
  47. 樓上

    我剛剛才開始安裝在Vista上,也不太成功。

    不曉得問題出在哪邊....

    回覆刪除
  48. 有同學提供了這個參考網頁(也許就是快崩潰人?):
    可以參考看看~

    http://blog.csdn.net/mmpire/archive/2009/02/23/3930549.aspx

    回覆刪除
  49. 烏,我被揭穿了。(逃)

    回覆刪除
  50. 助教 請問一下bonus 做出來要交什麼檔案呢?

    還有報告可以交pdf檔嗎?

    回覆刪除
  51. 助教你好~

    我出現了這個錯誤
    [code omitted because of length]
    : no event type or button # or keysym
    while executing
    "bind Listbox lt;MouseWheelgt; {
    %W yview scroll [expr {- (%D / 120) * 4}] units
    }"
    invoked from within
    "if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
    bind Listbox lt;MouseWheelgt; {
    %W yview scroll [expr {- (%D)}] units
    }
    bind Li..."

    但下載了patch之後還是看到相同的東西耶..
    而且我確定有成功patch上去了
    我還能做甚麼呢?
    謝謝!

    回覆刪除
  52. 我是樓上
    重新安裝一次ns2就可以了!!

    回覆刪除
  53. 吾欲產生.tr檔
    打了以下這行
    set nd [ open out.tr w]
    不料產生了 mpeg檔
    請問原理何在?

    回覆刪除
  54. bonus的部分,請在修改完TCP+FTP後,附上修改後的tcl和tr檔(檔名為b94xxxxx_hw0_bonus.tr & .tcl)

    PDF是可以接受的~

    回覆刪除
  55. mpeg檔...我想原理就是你一定誤會了什麼...
    請用記事本開啟out.tr這個輸出檔 檢查看看是否為ns manual上所指示的trace格式...

    回覆刪除
  56. 安裝完cygwin和ns2後
    執行

    startxwin.bat

    跑出來的視窗是一片灰色
    像這樣:
    http://imajr.com/cygwin-x-error-1389430

    無法輸入指令

    請問是怎麼了

    重灌過四次
    Xfree86和X.org都個別試過

    回覆刪除
  57. 我是樓上

    問題就像這個網頁一樣:
    http://www.baisi.net/thread-603133-1-1.html

    回覆刪除
  58. 我比較好奇的是...為什麼要用startxwin呢 XD
    出現那個畫面其實表示你的X-window安裝成功 但你沒有執行x-window的程式(也就是nam)

    所以 先完成ns-2的模擬(ns example2.tcl) 把trace生出來 後再來執行nam 應該就會自動把nam叫出來了 不一定需要先執行startxwin

    回覆刪除
  59. 想問一下,open了一個tr檔後,要不要close啊??
    我有close會出現錯誤訊息說無法close
    不過檔是有跑出來啦

    回覆刪除
  60. 因為我想看模擬的動畫阿

    上課問教授教授也是有叫我開

    回覆刪除
  61. 那就打xterm 就可以叫出x-window下的終端機
    然後在裡面執行nam 應該就可以了 :)

    回覆刪除
  62. 不行耶 會出現錯誤

    回覆刪除
  63. 我的nam好像不能跑~~
    他會出現下面的訊息:
    ns: finish: couldn't execute "nam": no such file or directory while executing "exec nam out.nam &"
    < procedure "finish" line 7 >
    invorked from within "finish"

    回覆刪除
  64. 我在執行這個指令
    patch -p0 < tk-8.4.18-tkBind.patch時
    出現****malformed patch at line4 /*ColormapNotify */ COLORMAP,

    回覆刪除
  65. nam不能跑看起來是路徑或著nam並沒有被make出來...

    patch的話 是不是放錯資料夾了呢? @@

    回覆刪除
  66. 助教,example要放在哪個資料夾下阿??

    回覆刪除
  67. patch是放在自己帳號資料夾下對嗎?

    回覆刪除
  68. example2.tcl置於任何資料夾都可以 但要記得打指令時要在同一個資料夾

    patch是放在ns-allinone-2.33資料夾下喔

    回覆刪除
  69. 引用一下助教的話
    :先完成ns-2的模擬(ns example2.tcl) 把trace
    :生出來 後再來執行nam 應該就會自動把nam叫出來
    :不一定需要先執行startxwin

    請問 ns example2.tcl 這行指令是在何處輸入?
    是在examples這個目錄之下嗎?
    我只能用startxwin.bat整個跑,
    沒辦法像助教說的那樣直接把trace生出來耶 @@

    (只是想知道..雖然這不影響作業繳交~ ^^")

    回覆刪除
  70. 請問要怎麼徹底刪除cygwin 2.27

    我想灌最新版本

    回覆刪除
  71. 把cygwin資料夾直接刪除應該就可以了~

    回覆刪除
  72. 請問一下
    解壓縮完以後先執行那個patch檔案後再install嗎?

    可是我這樣做的話我會產生
    cannot find -ldl
    collect2: ld returned 1 exit status
    make: *** [ns] Error 1
    Ns make failed!

    我重新開啟一個cygwin打入ns
    出現的東西很像是告訴我路徑錯誤
    但路徑以確認過了
    請問一下要怎麼辦呢?

    回覆刪除
  73. 你有輸入文末的那行指令嗎?

    回覆刪除
  74. to Tomky:



    我重新一個步驟一個步驟做就安裝好了
    感謝你

    回覆刪除