Tina Linux wayland编译报错问题解决:fatal error: hb.h: No such file or directory
最近客户反馈wayland编译报错,提示错误:fatal error: hb.h: No such file or directory 。然后同样的sdk,我在公司这边可以下载可以编译可以正常跑起来,但是客户按照一样的方法下载编译就是报错。没办法只能叫客户过来一趟看下什么问题。
具体报错如下:
虽然心里一直怀疑是环境问题,因为有但是还是一步一步确认。
1、首先排查一下sdk代码和分支是否有错,一顿操作下来,什么repo branch,repo status,git log查看sdk,没有问题。搜索了一下,这个hb.h文件在sdk里存在的。没有问题。
2、SDK验证过没问题,所以基本确认是环境问题,所以马上叫客户安装文档上指定需要安装的软件包:
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip
sudo apt-get install ia32-libs lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 -y
sudo apt-get install libc6:i386 libstdc++6:i386 lib32ncurses5 lib32z1
全部安装后,特意clean了之前的编译。一顿操作猛如虎,但是报错依旧在。
3、通过命令查看客户服务器的编译环境,发现客户编译服务器少里GTK3的工具包,所以基本确定应该是没有安装这个gtk3的工具报引起的。
查看命令:dpkg -l |grep gtk3
4、马上通过如下命令安装:
sudo apt-get install libgtk-3-dev
安装完成后,立马编译一下,发现问题迎刃而解。问题搞定。
总结,对于这种编译时提示找不到.h文件的错误,除非确实找不到这个.h文件,假如这个.h文件明明存在,但是提示缺失,十有八九是编译环境的问题,工具包没安装或者版本差异都有可能。