我正在开发一个带有AOSP叉子的系统。直到今天,我才明白:
$ time make -j8 TARGET_PRODUCT=beagleboneblack OMAPES=4.x droid showcommands
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.2
TARGET_PRODUCT=beagleboneblack
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-29-generic-x86_64-with-LinuxMint-17-qiana
HOST_BUILD_TYPE=release
BUILD_ID=JDQ39
OUT_DIR=out
============================================
^CTraceback (most recent call last):
File "build/tools/findleaves.py", line 98, in <module>
main(sys.argv)
File "build/tools/findleaves.py", line 92, in main
results = list(set(perform_find(mindepth, prune, dirlist, filename)))
File "build/tools/findleaves.py", line 31, in perform_find
real 7m19.311s
user 0m0.236s
for root, dirs, files in os.walk(rootdir, followlinks=True):
sys 0m0.104s
File "/usr/lib/python2.7/os.py", line 294, in walk
atilla@atilla-vaiod$ for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):狙击(这有这么多线路)。
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 284, in walk
if isdir(join(top, name)):
File "/usr/lib/python2.7/genericpath.py", line 41, in isdir
st = os.stat(s)
KeyboardInterrupt
^C发布于 2014-06-28 20:05:28
我发现了问题。由于某些原因,当脚本从makefile调用时,输出会被抑制。我手动运行了脚本,并找到了一些递归的符号链接。移除它们,它又开始工作了。
编辑:下面是我诊断这个问题的方法。
构建从build/core/main.mk开始,它调用build /tools/findleves.py。这个脚本在整个源树中搜索名为Android.mk的文件,并将它们拼接在一起创建一个临时的、巨大的makefile。
如果您在头几秒钟内按下Ctrl键开始构建并取消它,您将看到Python中熟悉的键盘中断消息。当我这样做时,Python堆栈转储有几个页面高,因为脚本递归地搜索目录树。
我所做的是:
问题是,我在内核目录中创建了一些额外的子目录来“安装”模块和固件,以便以后更容易复制。make modules-install命令将一个符号链接安装回内核源代码树,指向模块的来源。因此,有一个文件kernel/deploy/lib/modules/3.8.13/source,它是返回到kernel/目录的符号链接。
Python脚本遵循符号链接,并试图扫描一棵具有无限深度的树。
https://stackoverflow.com/questions/24469768
复制相似问题