我不完全知道我做了什麼,但似乎我打破了我的構建系統。如何跟蹤哪個文件導致語法錯誤?
$ scons install
scons: Reading SConscript files ...
File "<string>", line 1
I_���.�K
H�4����Ǐ��U)�f���R�f���ў�U)�f���R�f���ў�
^
SyntaxError: invalid syntax
打算使用不可打印字符。
壞的是:即使重新上「被稱爲工作」的版本並沒有幫助,以及使用像--debug=stacktrace
的選項。我的版本控制系統(mercurial)不顯示SCons
文件中的更改,我不知道如何繼續。任何提示如何使mercurial打印它正在處理的文件的名稱,以瞭解發生了什麼?
我的下一個步驟將是使該項目的一個新的克隆(其希望建立),但我很好奇什麼是錯在這裏。
UPDATE
當我更新到Ubuntu 12.04的問題消失了。 「消失」意味着在這種情況下,突然之間我已經能夠執行scons --clean
命令,之後我又能夠重建我的項目。可悲的是我不能重現這個錯誤,所以最後我不知道是什麼原因造成的,因爲它工作了好幾個月,而且我的同事們之前都沒有出現過這樣奇怪的錯誤。
這是我的腳本的摘錄:
vars = Variables("variables.cache")
vars.Add("CXX", "use this c++ compiler", "/usr/bin/g++")
# (other stuff added to vars)
env = Environment(variables = vars) # <-- this line caused the error
在故障修復此我得到的印象是,更新後,Python的是能夠給我一個更好的錯誤消息,該消息(試圖記住它)vars
在某種程度上是無效的。所以也許問題出在variables.cache
,我不知道。也許我應該刪除這個文件(我沒有)來擺脫這個錯誤。
爲什麼不能打印的字符打算? – Brady
抱歉找不到更好的單詞。我的意思是:他們在終端上以這種方式出現,在我們這裏沒有打字錯誤,它隱藏了有用的代碼行。看起來像scons試圖解析一個二進制文件或一些這樣的? –