编译icedTea-web报错填坑之旅

编译环境windows cygwin64,gitlab上clone的代码不能编译通过,而本地提交到gitlab的代码可以通过,报错信息指向automake-1.15

错误1

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ([^ \t=:+{}]+)}/ at /usr/bin/automake line 3936

分析与解决

此处是由于automake-1.15存在历史bug,查看github,改问题后续已经修复,因为是2016年左右的bug,现在最新版本automake已经是1.15.1,故不考虑从修改automake上解决

错误2

Makefile.am:1851: error: unterminated conditionals:WINDOWS_TRUE

分析与解决

经过查询,发现报这样的错应该是宏定义不匹配造成的,于是查找makefile文件,找到最后发现问题出现在make Makefile上 make --help 发现有选项-d 可以打印debug信息 执行make -d Makefile,发现输出信息中有比对aclocal.m4 configure.ac Makefile.in等文件新旧 其中Makefile.am acinclude.m4 configure.ac aclocal.m4必须比Makefile.in旧 configure.ac必须比aclocal.m4旧,如果前提文件新的话,会导致后面的文件重新生成 可以查看这篇blog讲述了aclocal.m4 makefile.in makefile.am configure之间的关系

错误3

git 上传代码时候会转换换行符

解决办法

git config --global core.autocrlf false
git config --global core.filemode false
git config --global core.safecrlf true
复制代码

错误4

换行符\r导致编译不起来

解决办法

通过dos2unix命令进行转换,cygwin64需要手动去安装这个安装包

转载于:https://juejin.im/post/5bc5d23f5188255c7c658d44

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值