編譯kxsmb時,執(zhí)行rake時遇到各種奇葩錯誤
錯誤1 ./configure: line 5176: syntax error near unexpected token `fi'
這是錯誤就很離譜呈础。不明所以瓤狐。
也不知道是哪個configure文件,只好搜索所有的configure斯撮,挨個找吧
發(fā)現(xiàn)是/samba/sources/configure這個文件
configure
以文本打開configure经伙,找到5176行,該行就一個fi 也不知道哪里有問題
如下:
5176行
解決方法:
觀察代碼,發(fā)現(xiàn)什么也沒干帕膜。所以干脆直接注釋掉枣氧。
注釋5176行
重新rake,發(fā)現(xiàn)依然是一樣的錯誤垮刹,難道是注釋沒生效嗎?
重新打開configure查看5176行达吞,確實(shí)沒有注釋?為什么荒典?
因此每次rake都會重新生成configure文件酪劫。
這個怎么辦?寺董?覆糟?
最后通過查看終端輸出,發(fā)現(xiàn)configure文件是通過autogen.sh這腳本生成的遮咖。
生成完之后滩字,執(zhí)行./configure 和make 。
解決注釋不生效的問題:
打開autogen.sh盯滚, 在開始執(zhí)行./configure 和make之前踢械,也就生成configure文件之后,暫停10秒鐘魄藕,我們手動替換修改后的configure文件内列。
等待繼續(xù)執(zhí)行./configure時,就是執(zhí)行我們修改的configure文件了背率。
等待10秒
這個錯誤就搞定了 话瞧。
錯誤2 util/fault.c:134:13: error: 'system' is unavailable: not available on iOS
fault.c中的system不可用在ios上
錯誤2
解決辦法:
iOS11以后,廢棄了system方法寝姿。所以逐個修改使用system的.c文件
system(cmd) 改為 popen(cmd, "r") 替代