最近在对着说明书学习瑞芯微rv1126,目前还在第一份说明书(rp-rv1126-1109使用指导文档-V1.3.pdf),刚通过编译,遇到很多头疼的问题。这里记录一下比较难解决的一些问题(很难百度到):
1、sudo赋予权限的问题:ld.so: object 'libfakeroot-sysv.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
我尝试了很多解决方案,我个人推理出最合理的解释是改路径。
以下为失败的,但我觉得未来说不定有用。
直接终端中运行:
export LD_PRELOAD=LD_PRELOAD:/usr/lib/x86_64-linux-gnu/libfakeroot/libfakeroot-sysv.so
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu
export TCLLIBPATH=TCLLIBPATH:/usr/lib/x86_64-linux-gnu
查看:
echo $LD_LIBRARY_PATH
export只对当前终端有用
其实最终真正的解决方案是:
sudo ./build.sh ubuntu
我的推测是:藏在x86_64-linux-gnu下的库如果权限不够,是无法调用的。(也就是说路径是没有问题的)因为那个lib下所要求权限就很高,没有sudo根本无法修改。所以以后这些指令都要加sudo。
————————————————————————————————————
然后会报错:
按群里技术人员说法,这个问题是因为没有先编译5.1章节的buildroot。
2、然后编译buildroot会遇到一个错误:can‘t find package expect
找不到expect
解决方案 :
是因为anaconda所导致,
在home下(anaconda3所在处,我的就在/home下)打开终端,然后输入:
sudo chown -R $USER:$USER anaconda 3
为它赋予权限。
然后conda install -c eumetsat expect 安装好后即可。
3、/bin/sh: 1: xxx:not found是一类错误
/bin/sh: 1: lz4c:not found
/bin/sh: 1:bison:not found
解决方案:sudo apt-get install liblz4-tool
sudo apt-get install bison flex
4、gzip:/home/zxm/rockchip/SDK/buildroot/dl/camke-3.8.2.tar.gz:not in gzip format
解决方案:
一开始我尝试了一下sudo、root模式,以及给那个文件解锁,但都没有效果。
后面我尝试自己解压那个文件,发现解压依旧报错。
在师兄的指导下,该问题应该是压缩包出现了损坏,于是我去官网下了一个同名文件,可以解压,然后我就放入了这个瑞芯微文件夹替换了原来的这个压缩包,然后就可以继续编译了。
官网:https://cmake.org/files/
5、Error:duplicate filename ‘0001-rename_cmake_rootfile.patch’
解决方案:
应该是复制文件错误,根据提示路径,把那个.patch文件删了就行。
6、接下来这一类错误解决方案相同,就放一起了。
error while loading shared libraries:libpython3.7m.so.1.0
ERROR:Clock skew detected.
fixdep:error opening depfile:/home/zxm/xxx/.plugin_jbd2.o.d:NO such file or directory
UnicodeEncodeError:'utf-8' codec can't encode characters in position 27-32:surrogates not allowed
解决方案:
先提一下,这个unicode错误我也不清楚,我猜有可能是中文路径的问题,所以后面我把01-SDK源码的文件夹名字改成了SDK。然后以上的所有错误的解决方案一样:重新安装!
就是你把你SDK文件夹删成和刚下载下来的文件夹内容一样(可以多留个ubuntu那个文件夹,它只是放了个解压后的文件),然后从说明书4.2源码解压一步步开始,虽然很玄学,但是我每次这样重新安装都能解决掉这些奇奇怪怪的错误。然后我有一个猜想,就是这些奇怪错误大多发生在我解决了一个其他错误之后,我猜怕不是每解决完一个错误就应该重装一次?但这只是猜想,最后我也编译通过了,稍微有点奇怪的是:
我这是userdata.img,说明书好像是trust.img,不过我感觉应该问题不大,毕竟编译成功了。然后编译完buildroot之后再去编译ubuntu就能编译通过了。