编译 Android 时出现 libwebcore.so error 解决


在编译Android代码的时候,出现了

target thumb C++: libwebcore <= out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebCore/XMLNames.cpp
target SharedLib: libwebcore (out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so)
collect2: ld terminated with signal 9 [Killed]
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so] Error 1

可是不管是 make clean & make ;或是同步git 代码仓库, 再make clean & make 都是徒劳。

这个问题可真是非常奇怪呀。

不过今天终于解决了。
最终的原因竟然是我的电脑太烂了... ,真是有点像那啥不出来,怪地球没有吸引力那啥了。

不买关子,其实是我的Linux 系统没加swap分区的原因。
因为工作后一直禀承 /boot 和 / 两个分区的两极世界观,抛弃并鄙视学校时老老实实按着书上 swap 两倍内存大, / , /usr, /usr/local, /var, ... 的世界多元论。现在终于吃到了苦头。
说实话,之前双分区的方法到是没遇到什么问题。最多是/用完了,再mount 上一个新的分区而已。
想不到,Fedora10 1G内存都编不了android呀, 不过Fedora6倒是能编过,不过是半年以前的代码了。之前还怀疑是Fedora 编译环境的问题,准备要装Ubuntu呢,哎..

解决的方法很简单,建个swap文件吧。
# dd if=/dev/zero of=/opt/other/swapfile bs=1024 count=512K
# mkswap /opt/other/swapfile
# swapon /opt/other/swapfile
# swapon -s
Filename                Type        Size    Used    Priority
/opt/other/swapfile                    file        524280    0    -1

OK了。make 圆满成功。
target SharedLib: libwebcore (out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/LINKED/libwebcore.so)
target Prelink: libwebcore (out/target/product/generic/symbols/system/lib/libwebcore.so)
target Strip: libwebcore (out/target/product/generic/obj/lib/libwebcore.so)

相关内容