[]【HarmonyOS HiSpark AI Camera试用连载 】老骥伏枥志在千里-再谈编译环境的搭建

阅读量0
0
0
看到某个群里的有网友说到,陪伴我们多年的centos6本月正式下岗,本着送它最后一程的想法,在centos6.10EOL30 Nov 2020)上做了下代码编译环境的安装,把调试要点记录如下:
一、使能clang环境
直接下载的clang必须有glibc-2.18支持。这个没什么好说的,下载glibc-2.18.tar.gz以后 configuremakemake install三连搞定,查看版本
图片1.png
二、关于python的版本
系统自带的python 2.6.6因为安装不完全,需要补装argparseimportlib模块,否则会提示类似
图片2.png
图片3.png
可以通过yum install python-argparse和安装importlib-1.0.4(在pypi.org下载)模块修复。
Python2.6不支持非空索引和长度为0的字段,会提示错误:
图片4.png
推测可以尝试通过修改源代码build/lite/build.py修复,大家请自行尝试,因为这个问题在python2.7就修复了,代码可以在python2.7编译通过。
图片6.png
三、python2丢失的文件
在首次使用python2.7编译的时候,会有这么一个错误:
图片7.png
这个就非常坑了,缺什么文件不提示,但是再装一个python3,重新用python2.7编译就没这个问题了。
四、关于补丁
初次编译的时候会提示./../../ltp-patch/patch.sh: line 10: patch: command not found
这是没有patch命令,用yum install patch安装以后,提示改为:
图片8.png
直接skipping了。
五、其它缺少的文件
编译过程中,难免报错,我把一些提示和对应安装记录如下(各种类型只写一次):
1、文件丢失
/bin/sh: zip: command not found
安装yum install zip修复,类似的还有kconfiglib,可以手工下载安装(python setup.py buildpython3 setup.py install
2、路径错误
/bin/sh: /usr/bin/touch: No such file or directory
这个不是touch命令不对,而是路径有误,增加一个软连接
ln -s /bin/touch /usr/bin/touch
3、同名冲突
在使用python3.9编译的时候,出现了打包错误,提示为
图片9.png
在网上查询,应该是文件夹内误放入了一个make_archive.py的文件,造成shutil模块中的
def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,
                 dry_run=0, owner=None, group=None, logger=None):
失效。但我的确没有找到make_archive.py文件,于是按照文中的方法,把编译环境从3.9降到2.7,正常编译通过。首次编译通过以后,再使用python3编译,又可以通过了,原因不明。
所以现在的环境下,既可以用python2.7,也可以用python3.9编译。接下来,看看改动代码实现python2.6编译是否可行。
心得:
遇到困难不要心急,编译环境的准备不是一蹴而就的,多尝试几次,一般来说,都是版本或者环境异常引起,纠正一下就行。

图片5.png

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友