手機 - N900 - Easy Debian - Patch OpenSCAD



雖然OpenSCAD可以在Debian Wheezy(7)以上的系統安裝,不過司徒測試Easy Debian後,發現只有在Easy Debian(Jessie)才可以成功安裝和開啟,不過,當司徒程式寫好OpenSCAD程式並Compile後,卻發生無法顯示2D/3D圖形的問題,而在Easy Debian(Wheezy)上,OpenSCAD可以安裝成功,但是在執行的過程中,OpenSCAD會出現如下CGAL ERROR的錯誤訊息:


司徒找了一些資料後,發現在Build OpenSCAD程式碼時,需要下-frounding-math參數或使用如下的方式解決:
司徒嘗試使用安裝的方式解決,不過似乎還是無法解決這個問題,因此,司徒決定下載最新程版式碼並從頭編譯一次,盼能解決此問題,不過,遇到一些Debian 8才有的Library相依問題

解決的方式也算簡單,在桌機電腦上,使用IDA Pro打開OpenSCAD(選擇ARM CPU)並搜尋"Wrong rounding"字串,可以定位到如下兩個位置:


往上尋找Branch的位置


將所有BNE loc_83ECC(0x1a)都Patch成BEQ loc_83ECC(0x0a)即可,總共有5個地方需要Patch,如下所示:


Patch過後的Binary可以直接替換/usr/bin/openscad檔案,執行後的畫面如下:

P.S. 假如右邊Render區域無法正常顯示,請安裝libgl1-mesa-swrast套件