2008-10-22

NetBeans 6.1 - make: /bin/sh: Command not found 土法煉鋼解法

在宿舍這台電腦灌好 NetBeans 6.1 之後,有一段時間沒去用 C/C++ 編譯器去編譯 *.c 的檔案。

今天阿拉拋給我一小段程式碼問我可否達到程式延遲的目標,由於最近想開始把所有類型程式語言都移到NetBeans上來開發,所以又將 NetBeans 開啟來嘗試使用它來進行測試作業。結果在 Run/Compile 之後,跑一長串有的沒的亂七八糟的訊息,然後最後一行給我冒出 Faild: 2,說有兩個錯誤。個別檔案編譯都正確,但是整個專案去 Build 就掛,原本很不想去仔細看它錯誤訊息的,最後還是稍微看過去。

結果發覺好像是 Jennic 的問題,Jennic 是博班學長給我們新生要做 Zigbee 實驗用的編譯軟體,
它當初在灌的時候會灌 Cygwin,似乎是衝突到了…所以我就將 Jennic 整個移除掉。(一方面學長到現在都還沒要我們做什麼…沒有用到砍掉也無所謂~)

沒想到這個東西要移除還頗麻煩,因為在移除過程中,Avast! 偵測到它有兩個檔案有特洛伊木馬的感染…移到隔離區繼續移除的話,還會導致移除程序發生嚴重問題,然後結束移除程序…(啥鬼阿…)所以最後只好將 Avast! 暫時退出保護模式以便移除。移除後,執行 NetBeans 來編譯 *.c 檔~原本一大長串的訊息不見了,但是卻留下以下這樣的錯誤訊息:

make: /bin/sh: Command not found
make: *** [.validate-impl] Error 127

傻眼~該不會 Jennic 在移除它自己的 Cygwin 時也會影響到原本的…在 google 上到處找如何解決以上這個問題始終找不到有效的解法。通常回應的人都是說環境變數的 PATH 沒設,但是我都有設定呀!由於針對NetBeans所搜尋出來的結果很少,也幾乎都試過了無效…所以我就決定把整個 NetBeans 的 C/C++ plugin 全部重新來一次,這樣再不行的話,我……

所幸,土法煉鋼法還是讓我完成了這項艱難(簡單?!)的任務。

土法煉鋼解法:砍掉重練!
首先,將電腦中原有的 Cygwin 整個移除。
 Cygwin 沒有提供反安裝檔,一切都要自己來!
 步驟就是(參考The Cygwin FAQ):
 1:將Cygwin在桌面上或開始中的捷徑都刪除。
 2:在註冊表編輯器中找到 "Software\Cygnus Solutions"後刪除。
   (它會在"HKEY_LOCAL_MACHINE" 及/或 "HKEY_CURRENT_USER"中。)
 3:將安裝 Cygwin 的資料夾整個刪除。
 4:以及任何在安裝時它所建立的暫存安裝檔的部份也全部刪除。

接著,在 NetBeans 的 Plugin 中已安裝的 C/C++ 套件也移除。然後,參考我的這篇重新安裝 Cygwin。裝完後一樣回到 NetBeans 的 Plugin 去安裝 C/C++ 套件就大功告成

0 comments:

 

My Favorite Stuff

Akon - We Don't Care
(Official Music Video)

Official AKON Website
About AKON(from Wiki)

My Links

Blogger
Others

Blog Statistics