2017年12月29日 星期五

[紀錄] Meet with K. K. Ramakrishnan

受到老師的委託
得以有這樣的機會
接見來自University of California, Riverside 的 K. K. Ramakrishnan
當初得知他是印度人後
由於之前看過三個傻瓜
知道他們的英文實在是如同外星人在說話一樣
因此在他來的前一天
特地去找了youtube上面的開放式課程來聽
沒想到
有夠難聽的!!!!
真的怎麼聽都聽不懂
完全不知道他在講什麼
連youtube也自動翻譯也不知道在翻什麼XDDDD
所以滿傻眼的

另外起先我也不知道要怎麼念他的名字
一直請google小姐念給我聽XD
深怕忘記他的念法

不過隔天前往桃園機場接機
拿著大字報等到他出現時
他直接伸手對我們說"Nice to meet you"
我們就直接回"Nice to meet you, too"
完全沒講到他的名字:PPPPP

在車上聊天的時候
忽然覺得他的英文我好像都聽得懂
至少能抓到關鍵字跟他用我的破英文跟他聊
而且聊起來的感覺和藹可親
也多虧他
得以進到平常進不去的招待所一探究竟
房間裡面的感覺接近飯店等級啊~

K. K. Ramakrishnan主要研究核心網路和SDN/NFV相關領域
並且在自己的實驗室有開發一套叫做OpenNetVM的NF管理平台
論文內容心得可以參考這裡

這是很特別的經驗
能夠直接的面對外國人
不論是閒話家常
還是用英文討論學術
很酷~~~~
不過學術的東西自己讀的話真的好難懂
這次聽他演講之後
對於OpenNetVM有多了一點的認識

這幾天感覺扮演一個K. K. 的專屬小服務生
不管是一開始的接機提行李
還是演講時幫他準備咖啡
或是當他的跟班
不知為何就想到聖經的那種場景XD
像是受到主人親自囑咐掌管好家裡的僕人
時時刻刻應當警醒
萬一主人突然回到家裡...........(拖走
哈哈哈

[筆記] 將openair-cn code從C改成C++遇到的error

1. Unknown type name 'class'
該.h同時被.cpp和.c include
因此編譯器會看不懂
Sol:
通通改成.c/.cpp

2. Jump to case label.
因為變數宣告在switch內的某個case
因為在該case以下的部分也看的到該變數
會有未宣告的問題
Sol:
把該變數加個{}
限制他的scope
3. Invalid application of sizeof to incomplete type with a struct
似乎是OAI的問題
Sol:
自行重新手動定義就可以編譯完成
4. int轉換成enum type
Sol:用static_cast<type>(value)去做轉換
5. unable to find string literal operator ‘operator""PRIx32’ with ‘const char [64]’, ‘long unsigned int’ arguments(2018.01.04更新)
把CMakeList的FLAG改用C++11編譯的時候發生的問題
Sol:
直接去把原本在define裡面的字串貼上去
e.g.:
#define TEID_FMT  "0x%"PRIx32
MSC_LOG_RX_MESSAGE (MSC_S11_MME, MSC_SGW, NULL, 0, "0 DELETE_SESSION_RESPONSE local S11 teid " TEID_FMT " ", resp_p->teid);
代換成
MSC_LOG_RX_MESSAGE (MSC_S11_MME, MSC_SGW, NULL, 0, "0 DELETE_SESSION_RESPONSE local S11 teid " "0x%"PRIx32 " ", resp_p->teid);

6.關於gtp函式的undefined reference(2018.01.10更新)
把libgtpnl相關的header 改回用extern "C"編譯
#include <libgtpnl/gtp.h>
#include <libgtpnl/gtpnl.h>

7.cannot declare member function static func_type func_name(parameter) to have static linkage (2018.01.31 updated)
Sol:
remove static for the definition
e.g.
class Foo
{
    static void Bar();
};

...

static void Foo::Bar()
{
    ...
}
the second "static" should be deleted.

8.invalid use of member function (did you forget the ‘()’ ?)
       obj_hashtable_ts_create (32, NULL, NULL, (void (*) (void **))pgw_lite_cm_free_apn, b);
"pgw_lite_cm_free_apn" is a member function in my class.
Sol:
add "static" declaration to pgw_lite_cm_free_apn in class

[公告] 敬告各位尋找 512p 521p 213p 17G 群交趴 套圖片下載 攝影集

敬告各位尋找 512p 521p 213p 17G

512p 521p 213p 17G 小大一群交趴 論壇 PTT 批踢踢 套圖片下載

攝影集 通識課課程 .rar .zip 裸照下載  套圖下載 

rar下載 zip下載 FB名單下載 IG名單下載 影片下載 jpg下載 avi下載

的板友!!
本人絕對不是穆川申 mustation mustation2 攝影師本人
上述圖片根本都只是公開的藝術照 沒什麼好看的!!!
本篇以人工智慧撰寫而成 請各位 不要再找圖片 顧慮一下受害者和基層員警檢察官的心情!!!

呼籲各位正在找

的版友

本人絕對不是穆川申 mustation mustation2 攝影師本人

強烈呼籲各位不要再關注這種東西!!! 只是藝術照!!!!
請顧慮基層員警 檢察官的心情!!!!
請顧慮受害者的心情!!!
謝謝!!!!

希望能阻止這股風潮蔓延><

2017年12月25日 星期一

[教學] Google Cloud Platform VM server啟用密碼登入

GCP預設使用private key登入VM
我們改成用密碼登入VM
就不用每換一台電腦就創立key

→VM執行個體
找到你要的VM後
選取"在瀏覽器視窗中開啟"

1.修改ssh設定檔
$ sudo vim /etc/ssh/sshd_config

2.以/PasswordAuthentication 搜尋
把值改成yes

3.重新啟動ssh服務
$ sudo service ssh restart

由於GCP會把密碼設定為你不知道的密碼
因此現在要把該帳戶密碼改成你要的密碼

$ sudo passwd <your_account_name>
Enter new UNIX password: (輸入你要設定的密碼)
Retype new UNIX password: (再輸入一次)
passwd: password updated successfully
↑看到這一行就成功囉


參考資料

2017年11月28日 星期二

[情報] Pokemon GO 鳳王出現啦~~~~~~

今天一早醒來
仍帶著昨天的疲憊
正打算坐下來吃早餐的時候
打開遊戲一看
跳出了這樣的畫面

聽說有人在遊戲中見到鳳王了...
立刻打開群組和地圖找鳳王的消息
結果在鄉下的地方先看見了
過沒多久發現交大內的長枝竹居然出現了
趕緊把書包早餐抓好
從博愛校區殺到光復
一到那就看到一團人狂點手機
我也趕快加入戰局

鳳王還真難打
雖然有15個人一起打
但是打了很久才結束
而且班吉拉、隆隆岩損傷慘重
差點6隻死光光

終於打完了
結果CP...

不管了
先開圖鑑再說
金莓伺候!!!
沒想到鳳王的距離超級近
圈圈有夠大超難丟到excellent
最後丟了5球搞定


※鳳王會出現2個星期,直到12/12
本來袋龍走了大家會覺得很不捨
但是鳳王馬上接著出現
好像就被忽略了...!?
幫袋龍QQ

另一個受害者是炎帝
現在一堆人看到炎帝就不想打了
幫炎帝QQ
放一張網友做的圖讓大家笑一下XD

班吉拉:計畫通り(笑
鳳王會遇到的CP區間
IV100 CP2222
IV66 CP2133
小智小霞們加油唄~~~

2017年11月23日 星期四

[情報] Pokemon GO 地圖 WeCatch Android App上架囉

令人振奮的消息
WeCatch App再也不是iOS專屬了
從昨天起
已於Play Store上架囉~~~~~((灑花~~~

APP連結
https://play.google.com/store/apps/details?id=com.wecatch.android

這邊簡單的解說一下如何使用它



1.篩選你要顯示的頭目等級
2.篩選你要顯示的寶可夢
3.顯示道館
4.顯示寶可夢

使用心得:
APP跟在iOS上一樣
有一定的機率會當機
其他的話跟網頁版差不多
還是推推XD

2017年11月22日 星期三

[情報] Pokemon GO 近期更新情報整理

最近N社又有新活動來了
以下做個整理

※Pokémon GO全球大挑戰和Pokémon GO Travel!
簡單說,就是要你狂抓寶可夢就是了
當達到下面的條件後就會解鎖各種獎勵
  • 銅牌: 全球訓練家一共捕捉到5億隻寶可夢!→目前在這裡
    • 經驗值2倍
    • 櫻花的時效延長為6小時
    • 寶可夢的出現率提高!
  • 銀牌: 全球訓練家一共捕捉到15億隻寶可夢!
    →(11/23更新)已經升級到銀牌了~
    →(11/25更新)目前已達25億隻寶可夢了,感覺很有機會啊
    →(11/26 08:00更新)目前已達28億隻寶可夢,感覺中午前就可以抓袋龍了XD
    • 銅牌獎勵+
    • 星塵2倍
    • 寶可夢的出現率會變得更高!(這也太不明確了啦啦啦
  • 金牌: 全球訓練家一共捕捉到30億隻寶可夢
    →(11/26 08:49更新)已達金牌!!!!!袋龍開抓~~~~~
    • 銀牌獎勵+
    • 袋獸將在亞洲登場!
    • 大蔥鴨將在世界各地登場!(欸那吸盤摩偶跟肯泰羅哩!!!!!!!!!!

※VIP團體戰功能更新
1. VIP團體戰主要會在贊助道館公園道館(其實最近幾次發券地點就看的出來了啊
2. 道館徽章等級越高收到VIP邀請函的機率就會提高(合理,看起來要多刷一點道館等級了
3. 打越多場團體戰的,收到VIP邀請函的機率提高(合理
4. VIP團體戰的時間,會依該道館平時團體戰較多人數的時間來設定(合理
5. VIP團體戰可能會被取消,會在遊戲中通知(居然還多了取消功能...讓你空歡喜OAO
6. 被取消者將會收到星塵及VIP入場券補償(官方已經在FB上修正為特級團體戰入場券)


※團體戰功能更新
1. 獲勝時獲得的可回復道具量(藥水那些的)減少,但會提高道具等級
2. 3星團體戰以上獲得招式學習器機率提升(讚
3. 團體戰不論成功失敗,都能獲得星塵(讚
4. 那隻鯉魚王居然要重返1星級的團體戰!(這是什麼奇怪的公告XDDD瞧不起鯉魚王嗎😈😈😈😈😈


小心鯉魚王生氣喔!
沒有自動替代文字。

※Pokémon GO更新!Android(0.83.1 )/iOS(1.53.2)

1.iPhone X畫面解析度最佳化
2.結束對iOS 8的支援
3.修正錯誤訊息會持續顯示至重新啟動遊戲為止的錯誤(這我有遇過,還會擋住你抓怪上方的按鈕@@
4.修正無法將寶可夢CP強化至最高值的錯誤
(據PTT說法是可以提高到玩家等級上限+2,也就是38等的玩家就可以強化到40級了
5.改善啟動所需的時間(這個超有感,啟動速度變很快
6.修正其他輕微錯誤

2017/12/02更新
一些新版本問題:
同時用藥水補多隻寶可夢的功能已經被取消(太不方便了...平常爽補6隻,現在要一個一個點
繁體中文的字體也有點不清楚

2017年11月20日 星期一

[教學] 故障排除方法-電腦無法上網

根據將近一年的網路管理
整理一下曾經遇過的網路不通問題與解決方案

1.網路線檢查好壞/有無插好
最根本的問題
如果沒有插好網路線
或者網路線有問題
即使所有設定正確
也不可能連得出去XD

2.路由器指示燈有無正常
和電腦這邊的有接好
就確認另一端的部分有無接上
通常插進去洞裡會有"喀!"的一聲

3.檢查同個網域內的電腦有無使用相同的IP
WinXP的IP衝突提示
Win7的IP衝突提示
有時候電腦自己有偵測到有其他電腦使用了相同IP
但也不能完全倚賴這個訊息
若沒有的話也是可能有這個狀況

4. Ping + 設定Google DNS server
ping 8.8.8.8 (DNS用途 : 將www.nctu.edu.tw網址轉換成電腦看得懂的IP位址140.113.112.xxx)
如果ping的成功,表示可能只是校內網路問題(即對外網路OK)
ping 不了的話,就是連校內的網路都出不去
Ping的方式:
在鍵盤上面按下Windows + R
→輸入cmd,會跳出一個黑底白字視窗
→輸入ping 8.8.8.8
如果有網路有通,會顯示"回覆自..."的訊息:

回覆自 8.8.8.8: 位元組=32 時間=13ms TTL=60
回覆自 8.8.8.8: 位元組=32 時間=162ms TTL=60
回覆自 8.8.8.8: 位元組=32 時間=4ms TTL=60
回覆自 8.8.8.8: 位元組=32 時間=8ms TTL=60

※若網路沒有通的話,會顯示"要求等候逾時"

DNS設定方式:(Win7)
...→網路和共用中心
→變更介面卡設定
→選你要改的網卡按右鍵→內容
→在下面找到"網際網路通訊協定第4版(TCP/IPv4)"→內容
→選"使用下列的DNS伺服器位址"→在慣用的DNS這邊改成8.8.8.8
→確定*2

完成!




2017年10月26日 星期四

[音樂] Pokemon GO OST 背景音樂大集合



最近的萬聖節活動大家抓的怎樣啊~
聽說有人連色違的部分都抓到了
小弟最近繁忙於研究&課業
第三代的部分晚了點才開抓
不過也已經開齊了

加上前天把第二代最後一隻-鴨嘴寶寶孵出來
第二代終於畢業了!!!

最近忙碌的時候
都會來聽Pokemon GO的背景音樂
根據精神聽平靜的或振奮的旋律
後來聽一聽發現越聽越上癮XDD
我自己特愛進入團體戰的音樂

在此為各位喜歡聽的寶友們整理一下歌單

登入畫面 - Main Title Theme


主題曲(白天) - Walking (Overworld Map)

主題曲(晚上) - Walking - Night (Overworld Map)

遇到野生寶可夢(白天) - Wild Encounter

遇到野生寶可夢(夜晚) - Wild Encounter (Night)

捕捉到新寶可夢 - Gotcha! New Pokemon Caught
進化寶可夢 - Evolution

道館(同隊) - Friendly/Team Gym


道館(敵隊) - Gym Prep


團體戰遊戲大廳 - Gym Raid Countdown Timer

團體戰等待加入區 - Enter a Gym Raid!

團體戰開打 - Gym Raid Battle!

團體戰捕捉 - Capture Raid Boss!

萬聖節背景音樂 - Halloween Lavender Town

2017年10月21日 星期六

[紀錄] 10/1 超夢降臨新竹交大海鷗

上次看完了台灣第一場在台北降臨的超夢後
覺得超羨慕這些能拿到首發邀請函的人

沒想到
在10/1第二發的邀請函
小弟就是其中之一啦

早上一開Pokemon GO就看到邀請函跳了出來
趕快揉揉眼睛
說:假的,業障重
再次睜開眼睛看
還是有欸
這是真的!!!!!!!

利用開打前這幾天趕緊練功養星塵
班吉拉快龍強化一波

到了星期日11:30
約好同學要打塔
沒想到早就已經是紅色的
爽翻XDDDDD
變成一直在幫補莓果
光是幸福蛋就被補了一百多顆

在開打之前道館始終在冒煙
好在有幾位金莓果實力雄厚的玩家
讓道館一直維持滿血狀態

當超夢一孵化
大家開始分隊
紅隊總共有13人
本來以為超夢會很難打
想不到50秒左右就KO掉了

到球數畫面看了看
有12顆球
點下去捕捉畫面開始挑戰


恩...CP2240
還不賴呢
拿出金莓果+great旋轉球開始抓

在丟的途中聽到身邊的歡呼聲此起彼落
不少人一兩球就抓到了
在這時候剩下6球還沒抓到
開始覺得很剉
丟到剩下4球的時候
真的是承受不了了
趕緊求援啊啊啊

有位捕捉頭目經驗雄厚的玩家就過來
他一看到我的螢幕上一堆通知
就說:趕快把多餘的程式關掉,lag成這樣是要怎麼抓

我連忙把多餘的背景程式都關閉
程式執行順多了
再把手機拿給他
他等了一下
用力一丟
一下~~兩下~~三下~~
Gotcha!!!!
我們這裡也響起了一片歡呼!!!!!!



耶~
新竹第一隻超夢到手啦!!
感恩seafood~~讚嘆seafood~~((拖走

特別的團體戰勝利標誌~~~

[論文心得] OpenNetVM: A Platform for High Performance Network Service Chains

讀這篇paper讀了一個月
來寫寫看完的感想好了

1. 為什麼要有OpenNetVM?
因為現有的NFV prototype效率太差,彈性也不好
因此他提出了具有NF manager的OpenNetVM
也就是一個具有高效率I/O的NFV管理平台
2. OpenNetVM的特色
  • Container-based NFs: 使用 Docker的Container來裝NF,因為VM比Container多包含了一個OS,使用Container可以比VM啟動的更快速
  • NF manager: 監控現在正在執行的 NF 和 分配從網卡接收到的封包給指定的NF
  • Efficient IO: 使用Intel DPDK的技術,並讓封包存放在shared memory,可以少去複製封包的次數來加快執行效率
  • Scalable: 可以很容易的開啟多個NF(像是有firewall,switch...),並且能藉由load balance的功能把NF的loading平衡
3. OpenNetVM的技術?
除了採用DPDK技術加速封包傳遞
並且使用NF manager來動態載入或卸載NF
4.他的封包流
當封包從網卡進來的時候
RX thread藉由DPDK的技術
讓封包直接送達user space(shared memory)
(因為使用了DPDK,可以不用傳送到kernel space)
再由NF manager決定要送給哪個NF
RX thread將packet的descriptor送到該NF的receive ring裡面

若是NF之間的傳遞
由TX thread從source NF傳送packet descriptor到destination NF

感想是
這個專案看起來滿有意思的
藉由DPDK加速封包傳遞
只是目前我還不知道他到底可以用在什麼情況下

論文檔案連結

2017年9月20日 星期三

[情報] Pokemon GO equinox 秋季慶祝活動

N社看大家抓到懶得抓水君
超夢只開放給部分玩家
現在又出了新招來吸引玩家回流了

在台灣時間 9/23-10/02 
將有
1. 星塵2倍~~~~
(終於等到這一波了,之後開抓XDD)
2. 2KM蛋可以孵出吉利蛋、幼基拉斯、咩利羊之類的稀有怪
(我有8顆10公里蛋要孵耶...要走到死了)
3. 商店販售期間限定禮包:"超級孵化器"(孵蛋速度快1.5倍) + 灑花器 + 幸運蛋 
(這根本就是希望人課金衝等啊~~~~) 
4. 抓到新的寶可夢開圖鑑會有3倍經驗值
(對我這個只缺寶寶系列的好像沒什麼幫助QQ)


參考網站

2017年9月16日 星期六

[紀錄] 9/16 Pokemon GO 超夢降臨台北大安森林公園&大直Joyfull

今天對於台灣的寶友是個不平凡的日子
因為...超夢要降臨讓我們挑戰&捕捉啦!!!!!!

由於研究繁忙
無法親自前往現場
就由我們群組的寶友代勞了~

早上9:40
Joyfull的附近就陸續出現人潮



連SNG車和記者都來了XDDD


根據回報
早上的道館早已被黃隊佔領
而且一直有人在對道館上演攻防戰
(就是為了贏的時候可以多兩球捕捉機會)

超夢即將孵化~~~~
超夢來了!!!!!

揪團組隊
20人
滿群!!!!

對戰畫面參考直播 (6:03處開始)
看起來
超夢也沒有到超級無敵難打啦哈哈

Gotcha!!!

IV100 - CP2275

根據觀察
在場的捕捉率大約1/3
所以也不是像日本一樣人人有獎啦

另外今天也收到另一則消息(已確認為假消息)
同時間
在美國VIP團體戰後一星期
現在出了一堆超夢
大概跟水君一樣


不論上面的訊息真假
相信之後一定會再出的
這麼好的賺錢機會
N社必定會把握住的
所以也不用擔心之後沒得抓啦
先好好練班吉拉慢慢等囉~

小弟我目前的戰力XD
仍須努力~~~

------------------------------------------------------------------------------------
所有圖片皆轉載自
園區寶可夢訓練家BOSS戰群 - Benjamin Huang & 其他友群
●【爆系公社寶可夢討論區】● - Otis Cheng 的貼文

[情報] 大安森林公園 超夢捕捉直播


來看看現場吧~
https://www.youtube.com/watch?v=5jbVeOcgTGo

2017年9月13日 星期三

[情報] Pokémon GO 超夢降臨台灣!!!

今天一早醒來
群組裡的訊息一直叮叮叮

看了看
讓我眼睛一亮


超夢來台灣了!!!
恭喜曾經打過Joyfull台北大直店的寶友們
(9/13 11:10更新)
台北大安區的藝術小青蛙也有囉
將於9/16 10:00~11:00
超夢在那邊等你們來挑戰喔

(9/13 14:00更新)
據了解
會收到邀請函的玩家
都是打過水君
反而是三聖鳥和其他的頭目沒獲得邀請
(我OOXX....
(這是要來搶救水君沒人打的方法嗎XDD)
可惡
最近要全力打水君了

忙完周末去看個熱鬧XDDD
不過希望我住的這邊也能有個機會打><

-----------------------------------題外話-----------------------------------
剛找到一個可以讓別人以為自己有收到邀請函的產生器
https://jsfiddle.net/MrPolywhirl/rgeqt2m3/embedded/result/
讓沒收到的寶友過過乾癮XDD

2017年9月6日 星期三

[旅遊] 新加坡Singtel預付SIM卡購買,上網打電話的好夥伴(含清楚使用方法)

大家好~
這幾天剛去了新加坡遊玩
不得不說新加坡真的是一個市容衛生都很棒的國家
這次要來介紹的是
關於這世代人人必備的───行動網路

看過網路上的幾篇部落文
跟現在我實際用的狀況有些出入
來讓大家update一下
到最新的狀態吧XD

我是在樟宜機場第三航廈的入境大廳購買的
他的專櫃在UOB的櫃檯旁邊
(在進到入境大廳的右前方)
我選的是新幣15塊錢的方案
包含:
4GB流量(每天有額外的1GB社交網路) + 500分鐘國內通話 + 30分鐘國際電話
有效期限為5天
買到的產品如圖
具備SIM/microSIM/nanoSIM的大小
在背面有SIM卡的預付卡電話
(螢光筆標示處)
手機號碼共8碼
將SIM卡根據手機需求放置插槽中
在手機上打開:設定→行動網路→存取點名稱(APN)
點選:Singtel(Prepaid)
就可以打開行動網路開關了
這樣就完成囉~~

要查看預付卡餘額的話
輸入*100*1#並撥打
就會傳送餘額的簡訊回來~

Singtel的網路速度滿快
用Speedtest測大概30M
訊號也不錯
基本上都是4G+

多虧有網路
在那邊找吃的很方便
交通也很好掌控
另外也在這裡抓到高IV的水君~~~ <3

《同場加映》
來自濱沙灣金沙飯店57F的夜景

新加坡摩天觀景輪+興建中的F1賽車道

濱海灣花園+Supertree

2017年8月31日 星期四

[情報] Pokémon GO 0.73.0 發布更新(已補上下載點)

Pokemon GO剛剛已經開放更新囉~
Android版 更新到 0.73.0

(目前不用更新APP就可以有第1.4的功能囉)本次更新內容...


  • Added the ability for Trainers to spin the Photo Disc at a Gym using the Pokémon GO Plus accessory.
    (可以使用GO Plus轉道館補給站來補給和取得徽章了!!!)
  • Added the ability to view the number of Trainers entered, and preparing, for a Raid Battle before using a Raid Pass.
    (在打團體戰之前先顯示多少人已進入參戰)
    (早該出了啦不然每次都很怕沒人!!!)
  • Improved Pokémon Collection screen search functionality by allowing Trainers to search through their Pokémon’s moves using the @ character.
    (改善在寶可夢盒子搜尋寶可夢的方式)
  • Resolved a bug which caused the Raid Boss to always break free from the last Premier Ball.
    (修正捕捉頭目時最後一球必跳出的Bug)
    (最後一球可以賭賭看認真丟了)
  • Resolved a bug that prevented Trainers from seeing they’d received double XP from Raid Battles when using a Lucky Egg.
    (修正在使用幸運蛋的時候,打團體戰顯示獲得的經驗數字沒有加倍)
    (事實上都是有加倍到,只是當時沒改到顯示這個部分)
  • Various bug fixes.
下載點:由APKmirror提供

抓寶去囉~~~

參考網站:
神奇寶貝的官網

2017年8月18日 星期五

[Step by step] NS2 Installation on Ubuntu 16.04 (the most complete step!!!)

有鑑於網路上的教學文太老舊了
很多套件已經不存在
有一些內容也是多餘的
就讓我用最清楚的步驟
教你如何輕鬆完成NS2安裝
這次練習用英文寫教學文看看XD

This is my first time to write the document by English.
I am trying my best to describe each step clearly.
Let me know if you meet some problem on installation.
Enjoy!

Step1 : Run these 2 commands(執行以下兩個指令)
$ sudo apt-get update
$ sudo apt-get upgrade -y

Step2 : Download NS2-all-in-one from website(從這下載NS2-all-in-one軟體)
https://goo.gl/yi1eG7

Step3 : Modify the ls.h file in line 137(修改ls.h這個檔案的137行)
$ vim ~/ns-allinone-2.35/ns-2.35/linkstate/ls.h


change
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
to

void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

Step4 : Install essential packages(安裝所需套件)
$ sudo apt-get install build-essential autoconf automake libxmu-dev libperl4-corelibs-perl

$ cd to ns-allione-2.35
$ ./install

If you see this picture, done!



Step5 : Add the following stuff to .bashrc(加點東西到.bashrc)
$ vim ~/.bashrc
 

# LD_LIBRARY_PATH
OTCL_LIB=/home/john/ns-allinone-2.35/otcl-1.14
NS2_LIB=/home/john/ns-allinone-2.35/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB
# TCL_LIBRARY
TCL_LIB=/home/john/ns-allinone-2.35/tcl8.5.10/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/john/ns-allinone-2.35/bin:/home/john/ns-allinone-2.35/tcl8.5.10/unix:/home/john/ns-allinone-2.35/tk8.5.10/unix
#the above two lines beginning from xgraph and ending with unix should come on the same line
NS=/home/john/ns-allinone-2.35/ns-2.35/
NAM=/home/john/ns-allinone-2.35/nam-1.15/
PATH=$PATH:$XGRAPH:$NS:$NAM

NOTE:
"/home/john/ns-allinone-2.35/" is my NS2 folder's location,
you should change that to where it located.
("/home/john/ns-allinone-2.35/" 是我的NS2資料夾位置,請根據安裝位置自行切換資料夾位置)
 
Step6 : Verify the installation(驗證安裝完整性)
$ cd ns-2.35 
$ ./validate
 
(Just wait for a while...)(等他跑完就好)
 
After you see this message...(當你看到這個訊息)
"validate overall report: all tests passed"
 
Done!!!!!!!!!!
 
Thanks for your visiting.(謝謝觀看我的文章!)

[Note] NS2 #1 problems solution set

sudo apt-get update
sudo apt-get upgrade -y 

Download NS2-all-in-one from website
http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download

Then extract and type ./install

Found Problem while installing: X11/Xutil.h: No such file or directory:
→Sol:
sudo apt-get install libx11-dev -y

retry install
 
Found Problem while installing: otcl-1.14 configuration failed! Exiting ...
→Sol:(?)

Found Problem while installing: ...use ‘this->erase’ instead...
→Sol:(ref)
goto ./ns-2.35/linkstate/ls.h line 137
change
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
to
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

If you see the following figure,the installation has done.(YEAH~~~)

And for safety,let's validate the installation
Error happened...
I need to install gcc-4.4 for compiling
but now gcc-4.4 is not provided from the list
so you need to add url manually
sudo vim /etc/apt/sources.list
deb http://dk.archive.ubuntu.com/ubuntu/ trusty main universe
deb http://dk.archive.ubuntu.com/ubuntu/ trusty-updates main universe

sudo apt-get update
sudo apt-get install gcc-4.4 g++-4.4
add environment variables:

# LD_LIBRARY_PATH
OTCL_LIB=/home/john/ns-allinone-2.35/otcl-1.14
NS2_LIB=/home/john/ns-allinone-2.35/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB
# TCL_LIBRARY
TCL_LIB=/home/john/ns-allinone-2.35/tcl8.5.10/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=/home/john/ns-allinone-2.35/bin:/home/john/ns-allinone-2.35/tcl8.5.10/unix:/home/john/ns-allinone-2.35/tk8.5.10/unix
#the above two lines beginning from xgraph and ending with unix should come on the same line
NS=/home/john/ns-allinone-2.35/ns-2.35/
NAM=/home/john/ns-allinone-2.35/nam-1.15/
PATH=$PATH:$XGRAPH:$NS:$NAM

Found Problem in validation: ...Can't locate getopts.pl in @INC (@INC contains:...

→Sol:
sudo apt-get install libperl4-corelibs-perl
Another reference:
Someone's blog
install gcc-4.4
getopts.pl
Installaiton