MySQL数据库在ARM+Linux平台上的移植
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL数据库在ARM+Linux平台上的移植,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2418字,纯文字阅读大概需要4分钟。
内容图文
![MySQL数据库在ARM+Linux平台上的移植](/upload/InfoBanner/zyjiaocheng/553/5eff4868915e4d68bc06bf215d50feb1.jpg)
最近需要在pxa270的嵌入式平台上应用数据库进行通信信息管理,客户要求使用MySQL数据库,接下任务后,在网上一查才知道MySQL 根本很
最近需要在pxa270的嵌入式平台上应用数据库进行通信信息管理,客户要求使用MySQL数据库,接下任务后,在网上一查才知道MySQL 根本很少用于嵌入式环境,而且支持的少数几种芯片中并没有arm的分发包!继续搜索有没有MySQL在arm平台移植的相关文章,几乎找不到相关资料.而自己在网上发了一些帖却没有收到一个回复,没办法,只能硬着头皮自己动手了.幸好经过一番”苦战”,今天终于克服了所有障碍,让MySQL在270板子上跑了起来!而且简单的测试也都收到了预期的效果,不过还要看客户的经一步测试了.
现在将MySQL 的arm+linux移植经验贴出来,希望对以后做相关方面工作的人有所帮助.
首先是要从网上获取MySQL的源码包,官方网址如下:
我用的是MySQL-5.0.22.tar.gz
采用的交叉编译器是适合于270板子的codesourcery这要根据具体的情况来进行修改.
以下分几个阶段来介绍:
一: configure
解开包以后得到文件夹MySQL-5.0.22我将其改名为MySQL-pc,进入目录后,首先要做configure 来生成交叉编译的Makefile文件,编译的时候一般configure是都能通过的但我用./configure --host=arm-none-linux-gnueabi来生成Makefile时却出现了多个错误,如下:
1) return type of sprintf : error: cannot run test program while cross compiling
检查configure脚本,发现脚本在检测到在做cross-compile时就提示以上错误并退出,说明至少是这个版本的MySQL并不支持交叉编译,但我用了最新的版本试了也还是有同样的错误,基本可以肯定MySQL还没有支持交叉编译的版本出现.但为了让编译继续,我在configure脚本中将多处这样的命令全都注释掉以让configure通过.
2) error: Your compiler cannot convert a longlong value to a float!
这个问题在较低版本的MySQL中是一个bug,但5.0的版本已经修复了这个问题,有可能是交叉编译器的问题,找不到解决的方法,这里我也将它注释屏蔽了.
3) error: No curses/termcap library found
缺少curses和termcap的库,反复安装了各种相关的软件包,还是解决不了这个问题,最后是在configure的参数里直接指定了安装的ncurses-5.6下的libncurses.a库根据我的路径参数设置如下:
--with-named-curses-libs=/home/huaming/MySQL/ncurses-arm-d501/lib/libncurses.a
(这里要注意的是ncurses的安装也要采用交叉编译的方式在pc上装好,否则后面做make的时候编译器会指出libncurses.a的格式不对)
经过反复尝试我最后使用的参数如下:
./configure --host=arm-none-linux-gnueabi --with-named-curses-libs=/home/huaming/MySQL/ncurses-arm-270/lib/libncurses.a --prefix=/home/huaming/MySQL/MySQL_arm_270 --without-debug --without-docs --without-man --without-bench --with-extra-charset=gbk,gb2312
内容总结
以上是互联网集市为您收集整理的MySQL数据库在ARM+Linux平台上的移植全部内容,希望文章能够帮你解决MySQL数据库在ARM+Linux平台上的移植所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。