看板 LinuxDev 關於我們 聯絡資訊
※ 引述《FFz (澎湖.仙人掌.234)》之銘言: : : 如果是失敗的話,錯誤訊息就會出現在最後幾行輸出訊息, : 還有,在最後幾行都會有 : 我舉例,底下兩個都是在最後輸出的錯誤 : ex1 : configure: error: no termcap library found ^^^^^^^^^^^^^^^^^^ : make[1]: *** [configure-gdb] Error 1 : make[1]: Leaving directory `/root/build_gdb' : make: *** [all] Error 2 : ex2 : make[3]: *** [install-common] Error 1 : make[3]: Leaving directory `/root/build_gdb/sim/arm' : make[2]: *** [install] Error 1 : make[2]: Leaving directory `/root/build_gdb/sim' : make[1]: *** [install-sim] Error 2 : make[1]: Leaving directory `/root/build_gdb' : make: *** [install] Error 2 第二個範例的錯誤訊息沒有擷取到重點. 上面的訊息只說有錯誤,可是卻無法從中看出make是在做什麼動作出錯的. 應該還有更多關鍵的錯誤訊息在更前面幾行. : 像是有些錯誤是因為此package又安裝了其他相依的package : 照成了遞迴錯誤 : 那我要怎麼看出說這個錯誤是發生在哪呢 你可以試著從error訊息找找看是哪個package出錯. : : 找找看是什麼原因造成『error, file not found, ...』之類的錯誤。 : 我最近安裝toolchain遇過的錯誤大多都是 : include不到檔案 : 而造成,裡頭的程式,抓不到某個型而出現錯誤 把錯誤訊息貼出來吧,看看有沒有人會解決. 再不然把關鍵的錯誤訊息上google找,這招雖然較辛苦但是很有效. 再不然有時後try到一定程度try不出來, 就應該停下來不要再try了,而是多讀一些書籍, 過了幾個月也許你就能解決了.有時後基本功打得好,遇到什麼問題迎刃就解. : 那,能不能講一下,還有哪些錯誤呢,除了include error 還有link時後的錯誤,就是make呼叫ld指令. 例如"undefined reference",可能是你少裝了某個函式庫. tarball的程式編多了就會慢慢累積經驗. : : 如果有warnning訊息,有時可以忽略, : 例如呢,可以麻煩您舉個例嗎,這樣的訊息是輸出怎樣的格式呢 老實說我的經驗中,從網路上抓來的許多軟體,就算編譯時出現warnning, 只要沒有error,都可以正常使用. 所以我都忽略warnning訊息,所以我對warnning的類型也不是很清楚. : : 除非一直找不出錯誤在哪,問題就可能出在warnning上。 : : 如果你只想擷取configure或make的錯誤或警告訊息, : : 只要把輸出到stdout的訊息導向到/dev/null就可以了。 : : 一般,error與warnning訊息會輸出到stderr。 : : 例如: : : ./configure >/dev/null : : make >/dev/null : : 如果不必要的資訊還是太多,再用文字處理軟體擷取你要的資訊, : : 例如sed, awk, grep, ...。 : : 這是我一般在編譯tarball程式的作法。 -- Albert Einstein : If there is any religion that could cope with modern scientific needs it would be Buddhism. 《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀 http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.200.121