由于客户定制后的android2.3需要wine支持,而服务器不允许安装wine组件,所以只有在本机上搭建环境来编译android2.3了;有点悲催的是,新装的ubuntu机器是14.04 的,跟古老的android 2.3 相比,简直太新潮了,以至于很多组件不相容。所以现在只有遇到问题解决问题了。
/home/xxx/public/workspace/prebuilt/linux-x86_64/toolchain/linaro-201105-csr-build-armv7-vfpv3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.5.4/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
原因是: 14.04安装的libmpc 版本太高了,没有libmpc.so.2 只有 libmpc.so 和 libmpc.so.3
一, 安装必要的文件
Install the required packages and tools.
$ sudo apt-get install git gnupg flex bison gperf build-essential \
libgmp10 autoconf automake libtool xmlto sqlite3\
zip curl libc6-dev libncurses5-dev x11proto-core-dev \
libglapi-mesa
libgl1-mesa-dri \
libx11-dev libreadline6-dev libgl1-mesa-glx \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev
$ sudo apt-get install xutils-dev binutils-dev
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-
gnu/libGL.so
$sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10 /usr/lib/libgmp.so
$sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10 /usr/lib/libgmp.so.3
二,首先编译kernle部分
原因是: 14.04安装的libmpc 版本太高了,没有libmpc.so.2 只有 libmpc.so 和 libmpc.so.3
所以要安装合适的版本,另外 libmpc 依赖于其他的组件 GMP和MPFR。
所以需要安装合适版本的组件,我用的libmpc-0.9 的,安装后包含 libmpc.so.2
如果是libmpc-1.0+的,只包含 libmpc.so.3 和libmpc.so 了。
至于从何地址下载安装这些组件,我参考以下博文(从网上摘抄):
GCC编译需要GMP, MPFR, MPC这三个库,这三个包可以从下面的地址下载:
GMP: http://gmplib.org/
GMP: http://gmplib.org/
MPFR: http://www.mpfr.org/
MPC: http://www.multiprecision.org/index.php?prog=mpc&page=download
=========================================
- 如下需要下载以下包:gcc-4.6.1.tar.bz2 gmp-4.3.2.tar.bz2 mpc-0.8.1.tar.gz mpfr-2.4.2.tar.bz2
- 下载地址如下:
- wget ftp://gcc.gnu.org/pub/gcc/infrastructure/{gmp-4.3.2.tar.bz2,mpc-0.8.1.tar.gz,mpfr-2.4.2.tar.bz2}
- wget http://ftp.gnu.org/gnu/gcc/gcc-4.6.1/gcc-4.6.1.tar.bz2 即可!