一,编译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. 牛客网PAT乙级(Basic Level)真题-组个最小数 (20)

    组个最小数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定数字0-9各若干个.你可以以任意顺序排 ...

  2. MySQLdb模块(数据库)

    安装 pip install mysqlclient 连接数据库 db = MySQLdb.connect(host="IP",port=端口,user="账号" ...

  3. Power BI 3-4月功能更新培训合集

    ​Power BI 3-4月功能更新培训合集 Power BI每月功能的更新,都有很多大咖精辟解读,我们一直也都是积极中期待,相信所有P友如是或更甚. 视频学习可以结合微软Power BI 3-4月文 ...

  4. 将lvm逻辑卷分出一部分

    今天公司磁盘报警,查看磁盘发现挂载的/aa空间还很多,而/ee 空间不足,现将/aa上的lvm分出一部分空间.加到/ee上 注:首先要 df  -T  -h 开一下磁盘格式如果是xfs格式的lvm  ...

  5. c/c++ 求一个整数转换为二进制数时中‘1’的个数

    求一个正整数转换为二进制数时中‘1’的个数 分析:这道题目就是很简单的位运算,我们可以把这个整数和1进行&操作(就是二进制数中的最低位与1进行&),然后将这个整数进行右移处理,将下个位 ...

  6. 记一次idea启动tomcat后控制台乱码的坑

    IDEA的编码配置大致跟<IntelliJ IDEA 控制台中文乱码解决方案>一样 但是启动后依旧乱码!why? 后来想起来,之前因为在win10控制台下跑tomcat乱码,所以,改过一个 ...

  7. Feign源码解析系列-那些注解们

    开始 Feign在Spring Cloud体系中被整合进来作为web service客户端,使用HTTP请求远程服务时能就像调用本地方法,可见在未来一段时间内,大多数Spring Cloud架构的微服 ...

  8. 正确处理下载文件时HTTP头的编码问题(Content-Disposition)

    留坑 参考: 正确处理下载文件时HTTP头的编码问题(Content-Disposition) HTTP协议header中Content-Disposition中文文件名乱码 文件下载,content ...

  9. 前端跨域(二):JSONP

    上一篇文章 前端跨域(一):CORS 实现了跨域的一种解决方案,IE8 和其他浏览器分别通过 XDomainRequest 和 XHR 对象原生支持 CORS.这次我将补一补 Web 服务中也非常流行 ...

  10. python利用requests和threading模块,实现多线程爬取电影天堂最新电影信息。

    利用爬到的数据,基于Django搭建的一个最新电影信息网站: n1celll.xyz  (用的花生壳动态域名解析,服务器在自己的电脑上,纯属自娱自乐哈.) 今天想利用所学知识来爬取电影天堂所有最新电影 ...