No working C compiler found

在CI服务器上编译x264,configure时出现“ No working C compiler found”的诡异错误,说诡异是由于该项目在本身电脑上编译过n多遍了,没有遇到过。

./configure --enable-shared --enable-pic --disable-cli --prefix=/data/project/ENC4100/build/../3rdparty --extra-cflags="-fPIC -DENABLE_LMSDK" --extra-ldflags="-L/data/project/ENC4100/build/../3rdparty/lib -lintel_encode -lva -lva-drm -lmfxhw64"
No working C compiler found.

在网上搜了下有人说和编译器没安装好有关系,但试了下编译其它代码没有问题,而且系统和编译器安装命令都是用过屡次的,这个环节出问题的可能性很小。

再对比发现彷佛和--extra-ldflags参数有关,开始一直怀疑编译脚本中双引号用的不规范,在不一样机器上结果有差别形成的,追踪了半天没找到缘由。

后来单独将编译命令提取出来在shell中执行,发现错误依然存在。而后将命令拷贝到本机执行,依然存在,这回就好办了。

在本机上用编译脚本执行,仍是不出错。再次提取本机编译脚本的命令行和服务器的对比,发现只有-L路径不同。至此能够肯定和路径有关系了,进一步想到是configure时用 --extra-ldflags的参数编译测试程序连接不成功致使的。检查-L的路径发现果真libmfxhw64.so库不存在,缘由是近期调整工程目录,将git上3rdparty/lib中的预置库删除了,改为编译时拷贝或生成,但编译x264的步骤在拷贝 libmfxhw64.so以前,所以出现了找不到库的状况。



相关文章
相关标签/搜索