赞
踩
移植MySQL到嵌入式ARM平台
2011年7月20日星期三
Wuyoujieji@http://www.doczj.com/doc/80f4b60690c69ec3d5bb7549.html
MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档:
http://www.doczj.com/doc/80f4b60690c69ec3d5bb7549.html/space.php?uid=9701860&do=blog&id=285428,因为MySQL5.5之后,编译是用的cmake不再使用./configure,因此,只好倒回支持./configure的版本来用,这里使用了文档上的5.1.51版本。进行如下步骤完成移植:
1)下载mysql5.1.51:
http://www.doczj.com/doc/80f4b60690c69ec3d5bb7549.html/sites/http://www.doczj.com/doc/80f4b60690c69ec3d5bb7549.html/Downloads/MySQL-5.1/mysql-
5.1.51.tar.gz
2)安装编译器:用的是EmbedSky提供的4.3.3的编译器。gcc之类的都是Fedora14自带
的。
3)编译PC版本的mysql备用
a)解压mysql-5.1.51到/opt/mysql-5.1.51: tar zxvf mysql-5.1.51.tar.gz
b)cd mysql-5.1.51
c)./configure -prefix=/usr/local/mysql
d)make 注意,这里无需运行make install,以为主要是为了用pc版本里的gen_lex_hash
库。
e)将文件夹mysql-5.1.51改名为mysql-5.1.51-pc备用。(将gen_lex_hash单独备份保
存一下)
f)文档上说这里会出错,但我在编译的过程中没有碰到,唯一的问题是编译了arm
版本的,重新通过改文件夹的名字回头编译pc版本的时候会报错。
4)编译arm版本的ncurses
a)下载ncurses-5.9.tar.gz:ftp://http://www.doczj.com/doc/80f4b60690c69ec3d5bb7549.html/gnu/ncurses/ncurses-5.9.tar.gz
b)解压到/opt/中:tar zxvf ncurses-5.9.tar.gz
c)cd ncurses-5.6
d)./configure –host=arm-linux -prefix=/usr/local/ncurse –enable-static
e)make
f)make install
之所以安装这个,是因为对mysql的交叉编译过程需要该库的支持
5)编译arm版本的mysql
a)tar zxvf mysql-5.1.51.tar.gz
b)cd mysql-5.1.51
c)修改配置文件:打开configure,可以使用gedit configure
分别在第26453行、48175行、48282行、48485行附近有类似代码:if test "$cross_compiling" = yes; then
{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。