mysql交叉编译总结

原创 2013年12月02日 17:17:06

版本:mysql-5.6.14.tar.gz
目标系统:基于linux的x86_64位系统

首先,在虚拟机里,正常配置(cmake ./ --xxx)、编译(sudo make)、安装(sudo make install)myslq。
为什么先要正常编译mysql?
(1)熟悉过程,整体的感受一下从配置到编译再到安装成功的过程;
(2)在后面的交叉编译过程中会用到正常编译生成的一些文件。

然后,创建一个交叉编译目录,把mysql解压的这个目录下。

第一步:修改mysql解压目录下的CMakeList.txt文件,在该文件的PROJECT(${MYSQL_PROJECT_NAME})之前添加

SET(CMAKE_SYSTEM_NAME Linux)   #指定交叉编译目标系统(想要进行交叉编译,这一项是必配的,并且Linux要写对,不能写成linux,不然在cmake时会提示System is unknown to cmake,虽然配置可以通过,但是编译的时候会出很多奇怪的错)

SET(CMAKE_C_COMPILER xxx-gcc)    #指定C交叉编译器
SET(CMAKE_CXX_COMPILER xxx-g++)    #指定C++交叉编译器

SET(CMAKE_FIND_ROOT_PATH "/opt/interl")   #指定交叉编译环境安装目录
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)    #从来不在指定目录下查找工具程序
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)    #只在指定目录下查找库文件
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)    #只在指定目录下查找头文件

以上参数详细解释,可查看http://www.cmake.org/Wiki/CMake_Cross_Compiling


第二步:进行配置,生成Makefile
执行cmake . --XXX(参数) 


第三步:进行编译

sudo make && sodu make install

在mysql编译生成的安装目录下有个文件是INSTALL_BINARY,这个就是mysql的安装说明书。(我觉得每个正规的软件都应该带有安装说明书,不然用户怎么知道这个玩意怎么搞)



编译过程中会遇到一些编译错误。例如:

1,在cmake过程中,发生
---- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

curses是mysql依赖的一个库,这个库也应该进行交叉编译。解决这个问题可在cmake后面添加-DCURSES_LIBRARY=/usr/lib/libcurses.so -DCURSES_INCLUDE_PATH=/usr/include/ncurses(或指定交叉编译该库目录和头文件目录)


2,在编译过程发生例如:/bin/sh: comp_err: Command not found之类的错误

可从正常编译过的mysql目录下查找该文件,并拷贝到/usr/bin/目录下


3,在编译过程中发生curses.h: No such file or directory的错误,

可在去编译目录下找到CMakeLists.txt,在该文件中的INCLUDE_DIRECTORY()中添加${CURSES_INCLUDE_PATH},如下
INCLUDE_DIRECTORY(
    ....
    ....
    ${CURSES_INCLUDE_PATH}
)
添加${CURSES_INCLUDE_PATH}的前提是在cmake的时候使用-DCURSES_INCLUDE_PATH指定的curses头文件目录





ubuntu 16.04 交叉编译 mysql 5.7.16 到 arm平台

ubuntu 16.04 交叉编译 mysql 5.7.16 到 arm平台 1 平台: (1) ubuntu 16.04 32bit (2) arm: 210  arm cortex-...
  • catemo
  • catemo
  • 2016年11月12日 00:45
  • 3758

移植mysql到ARM平台

1.安装交叉编译器,这里用的是4.3.2   检测交叉编译环境方法:arm-linux-gcc –v   root@ubuntu:/#arm-linux-gcc -v   Using built-in...
  • liangzhuangdongtou
  • liangzhuangdongtou
  • 2016年06月29日 14:23
  • 2360

ubuntu交叉编译mysql5.5所需的三个x86平台的文件

  • 2013年03月09日 21:34
  • 577KB
  • 下载

ubuntu9.04 交叉编译mysql5.5

转载自:http://blog.csdn.net/dlutxie/article/details/8654677 环境:PC机 ubuntu9.04  交叉编译器:gcc-linaro-arm-Li...
  • d_o_n_g2
  • d_o_n_g2
  • 2017年07月25日 11:52
  • 345

MySQL交叉编译

1. MySQL需要ncurses库的支持,首先下载ncurses-5.7库并进行交叉编译     CFLAGS="-O3" CC=/opt/arm-v4t-linux-gnueabi/gcc-4....
  • eyasys
  • eyasys
  • 2013年06月24日 14:09
  • 1164

MySQL交叉编译

MySQL交叉编译 1、编译PC版本 主要用于在交叉编译过程中替换部分文件。 1) 解压文件 tar zxvf mysql-5.5.24.tar.gz -C Loc...
  • jinyuhongye
  • jinyuhongye
  • 2012年08月31日 08:58
  • 905

交叉编译mysql客户端libmysql

交叉编译mysql客户端libmysql 确定linux安装好了cmake, ubuntu下安装cmake: sudo apt-get install cmake 设在好arm-linu...
  • bloong
  • bloong
  • 2016年07月20日 13:38
  • 394

对于嵌入式交叉编译总结

这几天终于搞定了老师项目里我负责的部分,主要是做一个图像采集的手持端,我选用了JZ2440。 从移植内核、制作文件系统、Qt移植总结下来发现在对于代码的交叉编译必须保证编译平台的一致性。对于s3c2...
  • a1171936767
  • a1171936767
  • 2017年06月05日 07:54
  • 206

mips 平台编译的jq

  • 2017年08月22日 20:34
  • 816KB
  • 下载

mips交叉编译环境 共 5 部分 (1)

  • 2009年10月22日 21:01
  • 11MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql交叉编译总结
举报原因:
原因补充:

(最多只允许输入30个字)