微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT6572源码上传SVN后下载编译报错?

MT6572源码上传SVN后下载编译报错?

时间:10-02 整理:3721RD 点击:
mtk6572源码上传SVN后下载下来报错,具体如下:
1、未上传SVN,源码编译通过;
2、上传SVN后,下载到电脑上,编译报错;
3、在报错的代码上,将SVN文件全部删除(find . -name ".svn" -type d -exec rm -rf {} \;), 编译通过(./mk r dr 与 ./mk new 都过了 );
解决方法: http://www.16rd.com/forum.php?mo ... 16631&highlight=svn
初步判断是SVN文件影响,有哥们碰到过类似问题,是如何解决的?
错误如下:
----- Making recovery image ------
Copying baseline ramdisk...
Modifying ramdisk contents...
cp: 无法获取"out/target/product/yuanda72_wet_jb3/root/init.recovery.*.rc" 的文件状态(stat): 没有那个文件或目录
make[3]: [out/target/product/yuanda72_wet_jb3/recovery.img] 错误 1 (忽略)
# Workaround to fix recovery image size expired issue
mediatek/build/tools/mkimage out/target/product/yuanda72_wet_jb3/ramdisk-recovery.img RECOVERY > out/target/product/yuanda72_wet_jb3/ramdisk_recovery.img
mv out/target/product/yuanda72_wet_jb3/ramdisk_recovery.img out/target/product/yuanda72_wet_jb3/ramdisk-recovery.img
----- Made recovery image: out/target/product/yuanda72_wet_jb3/recovery.img --------
Construct recovery fROM boot
mkdir -p out/target/product/yuanda72_wet_jb3/obj/PACKAGING/recovery_patch_intermediates/
PATH=out/host/linux-x86/bin:$PATH out/host/linux-x86/bin/imgdiff out/target/product/yuanda72_wet_jb3/boot.img out/target/product/yuanda72_wet_jb3/recovery.img out/target/product/yuanda72_wet_jb3/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p
zip error: Invalid command arguments (cannot repeat names in zip file)
make[3]: *** [out/target/product/yuanda72_wet_jb3/system/etc/recovery-resource.dat] 错误 16
make[3]: *** 正在等待未完成的任务....
chunk 0: type 0 start 0 len 4483594

你的SVN是什么版本的?

ubuntu下用用命令下载的,应该最新的


用1.7.8的试试吧

用命令如何指定版本?

我没有试过,,,群里有人搞过。你问问吧。

[Description]
用svn管理的版本编译出来有问题
采用svn管理代码,经常导致编译不过或者生成的image偏大

[Keyword]
svn

[Solution]

Solution 1.

请升级SVN的版本至1.7版本:采用1.7版本的SVN,编译过程中将不会产生任何因为SVN而导致的编译错误
SVN官方网站如下:http://subversion.apache.org/docs/release-notes/1.7.html

Solution 2.

Delete all .svn files & subdirectories
由于各个image是单独生成的,所以需要在编译单个image时添加相关命令删除相应文件夹下的.svn文件
以recovery.img为例,如果需要删除recovery.img中的.svn文件,需要修改如下Code:

修改build/core/Makefile文件中的$(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \依赖关系,在如下Code:
cat $(INSTALLED_DEFAULT_PROP_TARGET) $(recovery_build_prop) \
         > $(TARGET_RECOVERY_ROOT_OUT)/default.prop
之后添加:
@if [ -d $(TARGET_RECOVERY_OUT) ]; then find $(TARGET_RECOVERY_OUT) -name '*.svn' | xargs rm -rf; fi

其中@if前面是一个TAB键

删除不同Image对应文件夹下的.svn文件时,这段Code添加的位置也会有所不同
各个Image的生成命令位于build/core/Makefile 中,直接到该文件中寻找生成各个Image的依赖关系,添加上述命令即可
另,删除不同Image下的.svn文件时,上述添加Code中,TARGET_RECOVERY_OUT也要做出相应修改,修改为相应文件夹路径即可

做智能机还用Svn?

为什么这么问?

好像只要删掉framework和modem里面的.svn就能正常编译了,或者svn升级到1.7就OK了


智能机 用SVN管理太麻烦了  干么不用GIT

这个看个人习惯吧,反正都能管理就行了。

总结:
       1.升级SVN版本到1.7.8;
       2. 删除 framework 及 mediatek下的.svn文件,编译可通过。

说的好   同遇到这个问题

哪里可以下载源吗

首页已对此问题做了总结

mark+留名

好像用1.7的没啥问题

age out/target/product/yuanda72_wet_jb3/ramdisk-recovery.img RECOVERY > out/target/product/yuanda72_wet_jb3/ramdisk_recovery.img
mv out/target/product/yuanda72_wet_jb3/ramdisk_recovery.img out/target/product/yuanda72_wet_jb3/ramdisk-recovery.img
----- Made recovery image: out/target/product/yuanda72_wet_jb3/recovery.img --------
Construct recovery from boot

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top