编译kxsmb时,执行rake时遇到各种奇葩错误
错误1 ./configure: line 5176: syntax error near unexpected token `fi'
这是错误就很离谱。不明所以。
也不知道是哪个configure文件,只好搜索所有的configure,挨个找吧
发现是/samba/sources/configure这个文件
configure
以文本打开configure,找到5176行,该行就一个fi 也不知道哪里有问题
如下:
5176行
解决方法:
观察代码,发现什么也没干。所以干脆直接注释掉。
注释5176行
重新rake,发现依然是一样的错误,难道是注释没生效吗?
重新打开configure查看5176行,确实没有注释?为什么?
因此每次rake都会重新生成configure文件。
这个怎么办???
最后通过查看终端输出,发现configure文件是通过autogen.sh这脚本生成的。
生成完之后,执行./configure 和make 。
解决注释不生效的问题:
打开autogen.sh, 在开始执行./configure 和make之前,也就生成configure文件之后,暂停10秒钟,我们手动替换修改后的configure文件。
等待继续执行./configure时,就是执行我们修改的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") 替代
网友评论