Ubuntu18.04.5编译iasl 20190509遇Unexpected End of File错误求助
编译iasl 20190509版本时的语法错误与文件缺失修复方案(Ubuntu18.04.5 LTS)
问题描述
在Ubuntu18.04.5 LTS系统中编译iasl 20190509版本,执行make iasl时触发以下错误:
$ make iasl make[1]: Entering directory 'acpica-unix2-20190509/generate/unix/iasl' - bison obj/aslcompiler.y acpica-unix2-20190509/generate/unix/iasl/obj/aslcompiler.y:1.1: error: syntax error, unexpected end of file mv: cannot stat 'obj/AslCompiler.LLW4kB/y.tab.h': No such file or directory Makefile:322: recipe for target 'obj/aslcompiler.y.h' failed make[1]: *** [obj/aslcompiler.y.h] Error 1 make[1]: Leaving directory 'acpica-unix2-20190509/generate/unix/iasl' generate/unix/Makefile.common:7: recipe for target 'iasl' failed make: *** [iasl] Error 2
解决步骤
1. 校验源码包完整性
错误根源是obj/aslcompiler.y文件为空或损坏,导致bison无法解析语法:
- 重新下载iasl 20190509源码包,验证文件哈希值确保未损坏;
- 解压后检查
acpica-unix2-20190509/generate/unix/iasl/obj/aslcompiler.y文件内容,若为空则重新解压。
2. 安装编译依赖
确保系统安装了所有必需的编译工具:
sudo apt update sudo apt install bison flex gcc make
3. 清理残留后重新编译
先清除之前的编译残留文件,再重新编译:
make clean make iasl
4. 备选:直接通过包管理器安装
若源码编译仍有问题,可直接安装系统适配版本的iasl:
sudo apt install acpica-tools
注:此命令安装的iasl版本可能不是20190509,若需指定版本,可查找对应deb包或添加第三方PPA。
内容的提问来源于stack exchange,提问作者Dima
相关产品推荐
相关产品推荐

