当前位置: 首页 > 工具软件 > IcedTea > 使用案例 >

编译icedTea-web报错填坑之旅

叶鸿振
2023-12-01

编译环境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

 类似资料: