我试图在 Ubuntu 12.04 LTS 操作系统中借助 Scratchbox2 为 arm 架构交叉编译单声道,但没有这样做。
我做的整个过程如下
A. 设置 Scratchbox2
克隆 scratchbox 2 存储库:
$ git clone git://gitorious.org/scratchbox2/scratchbox2.git
要构建和安装 SB2:
$ cd scratchbox2 $ dpkg-buildpackage -rfakeroot $ cd .. $ sudo dpkg -i libsb2*deb scratchbox2*deb
状态:成功
B. 设置 qemu
克隆 qemu 仓库
git clone git://git.qemu.org/qemu.git
构建和安装 qemu
$ cd qemu $ ./configure --prefix=$HOME/sb2 --target-list=arm-linux-user $ make && make install $ cd ..
状态:成功
C. 设置 arm 工具链
获取 arm 工具链
$ wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package8739/public/arm-none-linux-gnueabi/arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 $ tar xjvf arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
生成工作目标配置。
$ cp -a arm-2011.03/arm-none-linux-gnueabi/libc/{lib,etc,usr} . $ sb2-init ARM9 arm-2011.03/bin/arm-none-linux-gnueabi-gcc [ ARM9-> name of target]
状态:成功
D. 交叉编译单声道
$ sb2
[SB2 simple arm9] root@Vostro-460 $ cd Desktop/mono-2.10.8.1
[SB2 simple arm9] root@Vostro-460 mono-2.10.8.1 $ ./configure --disable-mcs-build
[SB2 simple arm9] root@Vostro-460 mono-2.10.8.1 $ make
状态:失败
错误:
/usr/local/lib/libgmodule-2.0.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[4]: *** [test-glib] Error 1
make[4]: Leaving directory `/home/ushus/Desktop/mono-2.10.8.1/eglib/test'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ushus/Desktop/mono-2.10.8.1/eglib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ushus/Desktop/mono-2.10.8.1/eglib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ushus/Desktop/mono-2.10.8.1'
make: *** [all] Error 2
我被困在这一步。知道如何解决这个错误吗?