一,编译ncurses

  编译mysql需要依赖ncurses,先编译ncurses

1.下载ncurses

  下载路径是ftp://ftp.gnu.org/gnu/ncurses,选择下载的是ncurses-5.9.tar.gz。

2.解压,配置,编译,安装

  配置参数如下:

./configure --prefix=/home/shawn/AM335x/ncurses \
CC=arm-arago-linux-gnueabi-gcc \
--host=arm-arago-linux-gnueabi \
--enable-static \
--enable-shared

  编译安装,编译完成后,供编译mysql使用。

make
make install

二,编译Mysql

1.下载路径 http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/

2.选择下载 mysql-5.1.72.tar.gz

3.解压,复制一个mysql-5.1.72-PC,编译一个pc版本的以备后用

4.configure and make

./configure --prefix=/home/shawn/PC/mysql

  执行configure会报错

checking for wctype_t in wctype.h... yes
checking for wint_t in wctype.h... yes
checking for tgetent in -lncursesw... no
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found
shawn@ubuntu:~/work/mysql-5.1.72-PC$

  原因是缺少ncurses库,安装一下,再次configure

sudo apt-get install libncurses5-dev

  继续报错

config.status: executing libtool commands
/bin/rm: cannot remove 'libtoolT': No such file or directory
config.status: executing default commands Thank you for choosing MySQL! Remember to check the platform specific part of the reference manual
for hints about installing MySQL on your platform.
Also have a look at the files in the Docs directory. shawn@ubuntu:~/work/mysql-5.1.72-PC$

  安装libtool autoconf automake

sudo apt-get install libtool autoconf automake

  执行如下三条命令

autoreconf --force --install
libtoolize --automake --force
automake --force --add-missing

  好吧,我承认,还是没有解决这个问题。。。。。。。先忽略掉。。。。。make,报错

mysql.cc:2687:37: error: invalid conversion from ‘char’ to ‘char*’ [-fpermissive]

  打开client/mysql.cc,2687行 修改代码

field_names[i][num_fields*2]= '\0';
改成
field_names[i][num_fields*2]= "";

  

4.修改congifure,共有四处要修改,使用notepad++修改,在notepad++中,使用Ctrl+G跳到指定行数

//26302行开始的地方
if test "$cross_compiling" = yes; then
echo "skip......"
# { { $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 compiling
#See \`config.log' for more details." >&5
#$as_echo "$as_me: error: cannot run test program while cross compiling
#See \`config.log' for more details." >&2;}
# { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
//48121开始的地方
if test "$cross_compiling" = yes; then
echo "skip......"
# { { $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 compiling
#See \`config.log' for more details." >&5
#$as_echo "$as_me: error: cannot run test program while cross compiling
#See \`config.log' for more details." >&2;}
# { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
//48228开始的地方
if test "$cross_compiling" = yes; then
echo "skip......"
# { { $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 compiling
#See \`config.log' for more details." >&5
#$as_echo "$as_me: error: cannot run test program while cross compiling
#See \`config.log' for more details." >&2;}
# { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF
//48442开始的地方
if test "$cross_compiling" = yes; then
echo "skip......"
# { { $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 compiling
#See \`config.log' for more details." >&5
#$as_echo "$as_me: error: cannot run test program while cross compiling
#See \`config.log' for more details." >&2;}
# { (exit 1); exit 1; }; }; }
else
cat >conftest.$ac_ext <<_ACEOF

5.配置configure,with-named-curses-libs就是上面ncurses编译出来的路径

./configure --host=arm-arago-linux-gnueabi \
--prefix=/home/shawn/AM335x/mysql \
CC=arm-arago-linux-gnueabi-gcc \
--enable-static \
--with-named-curses-libs=/home/shawn/AM335x/ncurses/lib \
--prefix=/usr/local/mysql \
--without-debug \
--without-docs \
--without-man \
--without-bench \
--with-charset=gb2312 \
--with-extra-charsets=ascii,latin1,utf8

  执行configure的时候,报了如下错误

checking for atomic_cas_32... no
checking for atomic_cas_64... no
checking for atomic_cas_ulong... no
checking for atomic_swap_uchar... no
checking whether pthread_t can be used by Solaris libc atomic functions... configure: error: in `/home/shawn/work/mysql-5.1.72':
configure: error: cannot run test program while cross compiling
See `config.log' for more details.
shawn@ubuntu:~/work/mysql-5.1.72$

  打开同路径下的config.log查看错误,直接搜索error,第一个错误是,a.out不能运行的,忽略掉。

conftest.c:10:28: fatal error: ac_nonexistent.h: No such file or directory

  

移植mysql到ARM(AM335x)的更多相关文章

  1. 移植mysql到嵌入式ARM平台

    移植MySQL到嵌入式ARM平台  MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.p ...

  2. 成功移植SQLite3到ARM Linux开发板

    SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了 ...

  3. 移植madplay到ARM板

    一.环境和软件介绍 1.主机环境:Ubuntu16.04 2.交叉编译器: gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 3.ARM板:kernel: ...

  4. 移植vsftpd到arm linux

    vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux.BSD. ...

  5. 如何让移植的嵌入式ARM显示中文汉字

    如果你急于在ARM开发板上看到Qt显示中文,而不介意稍次的效果,可以在运行Qt程序时,增加设置字体的参数,比如运行名为hello的Qt程序:./hello -fn unifont 1.首先,需要文泉驿 ...

  6. 移植openssh到arm linux

    一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 exp ...

  7. 【转】移植vsftpd到arm linux

    vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux.BSD. ...

  8. 嵌入式linux------ffmpeg移植 编码H264(am335x编码H264)

    [cpp] view plaincopy <pre name="code" class="cpp"><pre name="code& ...

  9. 嵌入式linux------ffmpeg移植 解码H264(am335x解码H264到yuv420并通过SDL显示)

    /* 编译命令:arm-linux-gcc -o show2642 264showyuv2.c -I/usr/local/ffmpeg_arm/include/ -L/usr/local/ffmpeg ...

随机推荐

  1. 解决使用mybatis分页插件PageHelper的一个报错问题

    在项目中使用PageHelper进行分页,启动运行时报错,报错如下: 27-Aug-2017 09:58:48.017 INFO [localhost-startStop-1] org.apache. ...

  2. linux安装虚拟机ping不通网关,ping不通外网问题解决(nat模式)

    1.将网关字段改成自己想要的字段

  3. SpringBoot的学习【6.YML 和 Properties 的语法】

    1.YML的基本语法 KEY:(空格)value:(空格) 以空格的缩进来表示同一层级.属性和值是大小写敏感的. 2.YML和属性.属性值进行匹配 注解:@ConfigurationPropertie ...

  4. 我与java的故事

    前奏 2012年开始接触java,当时还是大二因为博客园的原因我选择了java这门语言进行深入的学习.一开始看的是<动力节点>的教学视频,请原谅我已经忘记那个讲师叫什么名字.但是的项目叫E ...

  5. How To Make A Swipeable Table View Cell With Actions – Without Going Nuts With Scroll Views

    How To Make A Swipeable Table View Cell With Actions – Without Going Nuts With Scroll Views  Ellen S ...

  6. 搭建EOS未完

    纯净机器上部署 EOS 测试网 演示的系统为 Ubuntu 18.04 LTS,内存8g以上,硬盘300g+ clone EOS代码 们以EOS-Mainnet仓库部署,(EOS-Mainnet是部署 ...

  7. JS 获取图片标签和所有的图片中的src的正则表达式

    var imgReg = /<img.*?(?:>|\/>)/gi; //匹配所有img标签的正则表达式规则 var srcReg = /src=[\'\"]?([^\'\ ...

  8. docker中的oracle-11g-安装配置

    docker镜像:wnameless/oracle-xe-11g 启动镜像的命令: docker run -d -v /data/oracle_data:/data/oracle_data -p 11 ...

  9. Css新增内容

    css3新增属性 可节省设计时间的属性 border-color:控制边框的颜色,并且有更大的灵活性,可以产生渐变效果 border-image:控制边框图像 border-radius:能产生类似圆 ...

  10. jquery Ajax 实现图片上传的功能。

    $('#image').on('change', function () {         var url = "";         var form = new FormDa ...